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