Формат нейронные данные для эффективного обучения графического процессора или симуляции
nndata2gpu(x)
[Y,Q,N,TS] = nndata2gpu(X)
nndata2gpu(X,PRECISION)
nndata2gpu
требует Parallel Computing Toolbox™.
nndata2gpu(x)
берет N
-by-Q
матричный X
Q
N
- вектор-столбцы элемента и возвращает его в форме для обучения нейронной сети и симуляции на текущем устройстве графического процессора.
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
th сигнальный вектор на временном шаге ts
, через все временные ряды Q
. В этом случае возвращенным gpuArray Y
является 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)
Скопируйте данные о массиве ячеек нейронной сети, представляя четыре временных рядов, каждый состоящий из пяти временных шагов сигналов с 3 элементами и с 2 элементами:
x = nndata([2;3],4,5) [y,q,n,ts] = nndata2gpu(x) x2 = gpu2nndata(y,q,n,ts)