Переформатируйте нейронные данные назад из графического процессора
X = gpu2nndata(Y,Q)
X = gpu2nndata(Y)
X = gpu2nndata(Y,Q,N,TS)
Обучение и симуляция нейронных сетей требуют этого, матрицы транспонированы. Но они не требуют (несмотря на то, что они более эффективны с), дополнение длины столбца так, чтобы каждый столбец был выровненной памятью. Эта функция копирует данные назад из текущего графического процессора и реверсов это преобразование. Это может использоваться на данных, отформатированных с nndata2gpu
или на результатах сетевой симуляции.
X = gpu2nndata(Y,Q)
копирует QQ
-by-N gpuArray
Y
в RAM, берет первые строки Q
и транспонирует результат получить N
-by-Q
матрица, представляющая Q
N
- векторы элемента.
X = gpu2nndata(Y)
вычисляет Q
как индекс последней строки в Y
, который не является всеми значениями NaN
(те строки были добавлены, чтобы заполнить Y
для эффективного вычисления графического процессора nndata2gpu
). Y
затем преобразовывается как прежде.
X = gpu2nndata(Y,Q,N,TS)
берет QQ
(N*TS
) gpuArray, где N
является вектором размеров сигнала, Q
является количеством выборок (меньше чем или равный количеству строк после выравнивания, дополняющего QQ
), и TS
является количеством временных шагов.
gpuArray Y
копируется назад в RAM, первые строки Q
взяты, и затем это разделено и транспонировано в M
-by-TS
массив ячеек, где M
является числом элементов в N
. Каждым Y{i,ts}
является N(i)
-by-Q
матрица.
Скопируйте матрицу в графический процессор и назад:
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)