Переформатируйте нейронные данные от графический процессор
X = gpu2nndata(Y,Q)
X = gpu2nndata(Y)
X = gpu2nndata(Y,Q,N,TS)
Обучение и симуляция нейронных сетей требуют, чтобы матрицы были транспонированы. Но они не требуют (хотя они более эффективны с) заполнения длины столбца так, чтобы каждый столбец был выровнен по памяти. Эта функция копирует данные из текущего графического процессора и отменяет это преобразование. Он может использоваться на данных, форматированных с nndata2gpu
или по результатам симуляции сети.
X = gpu2nndata(Y,Q)
копирует QQ
-by- N
gpuArray Y
в оперативную память, принимает первый Q
строк и транспонирует результат, чтобы получить N
-by- Q
матрица, представляющая Q
N
-элементные векторы.
X = gpu2nndata(Y)
вычисляет Q
как индекс последней строки в Y
это не все NaN
значения (эти строки были добавлены на вкладку Y
для эффективного расчета графический процессор nndata2gpu
). Y
затем трансформируется, как и прежде.
X = gpu2nndata(Y,Q,N,TS)
принимает QQ
-by- (N*TS
) gpuArray, где N
- вектор размеров сигналов, Q
количество выборок (меньше или равно количеству строк после заполнения выравнивания QQ
), и TS
количество временных шагов.
Система gpuArray Y
копируется назад в оперативную память, первый 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)
Скопируйте из графический процессор данные массива ячеек нейронной сети, представляющие четыре временных рядов, каждый из которых состоит из пяти временных шагов 2-элементных и 3-элементных сигналов.
x = nndata([2;3],4,5) [y,q,n,ts] = nndata2gpu(x) x2 = gpu2nndata(y,q,n,ts)