Формат нейронные данные для эффективного обучения графического процессора или симуляции
nndata2gpu(x)
[Y,Q,N,TS] = nndata2gpu(X)
nndata2gpu(X,PRECISION)
nndata2gpu
требует Parallel Computing Toolbox™.
nndata2gpu(x)
берет N
- Q
матричный X
из Q
N
- вектор-столбцы элемента, и возвращают его в форме для обучения нейронной сети и симуляции на текущем устройстве графического процессора.
Затем
- Q
матрица становится QQ
- N
gpuArray, где QQ
Q
окруженный к следующему кратному 32. Дополнительные строки (Q+1):QQ
заполнены NaN
значения. gpuArray имеет ту же точность ('single'
или 'double'
) как X
.
[Y,Q,N,TS] = nndata2gpu(X)
может также взять M
- TS
массив ячеек M
сигналы по TS
временные шаги. Каждый элемент X{i,ts}
должен быть Ni
- Q
матрица Q
Ni
- векторы элемента, представляя i
сигнальный вектор th на временном шаге ts
, через весь Q
временные ряды. В этом случае, gpuArray Y
возвращенный QQ
- (sum(Ni)*TS)
. Размерности Ni
Q
, и TS
также возвращены так, они могут использоваться с gpu2nndata
выполнять противоположное форматирование.
nndata2gpu(X,PRECISION)
задает точность по умолчанию gpuArray, который может быть 'double'
или 'single'
.
Скопируйте матрицу в графический процессор и назад:
x = rand(5,6) [y,q] = nndata2gpu(x) x2 = gpu2nndata(y,q)
Скопируйте данные о массиве ячеек нейронной сети, представляя четыре временных рядов, каждый состоящий из пяти временных шагов сигналов с 3 элементами и с 2 элементами:
x = nndata([2;3],4,5) [y,q,n,ts] = nndata2gpu(x) x2 = gpu2nndata(y,q,n,ts)