Переформатировать нейронные данные обратно из GPU
X = gpu2nndata(Y,Q)
X = gpu2nndata(Y)
X = gpu2nndata(Y,Q,N,TS)
Обучение и моделирование нейронных сетей требуют транспонирования матриц. Но они не требуют (хотя они более эффективны с) заполнения длины столбца, чтобы каждый столбец был выровнен по памяти. Эта функция копирует данные из текущего графического процессора и отменяет это преобразование. Его можно использовать для данных, отформатированных с помощью nndata2gpu или о результатах моделирования сети.
X = gpu2nndata(Y,Q) копирует QQоколо-N gpuArray Y в ОЗУ, принимает первое Q строки и транспонирует результат, чтобы получить Nоколо-Q матрица, представляющая Q
N-электронные векторы.
X = gpu2nndata(Y) вычисляет Q как индекс последней строки в Y это не все NaN значения (эти строки были добавлены в pad) Y для эффективного вычисления графического процессора с помощью nndata2gpu). Y затем преобразуется, как и раньше.
X = gpu2nndata(Y,Q,N,TS) принимает QQоколоN*TS) gpuArray где N - вектор размеров сигнала, Q - количество выборок (меньше или равно количеству строк после заполнения выравнивания; QQ), и TS - количество временных шагов.
gpuArray Y копируется обратно в ОЗУ, первое Q строки берутся, а затем они секционируются и транспонируются в Mоколо-TS массив ячеек, где M - количество элементов в N. Каждый Y{i,ts} является N(i)около-Q матрица.
Скопируйте матрицу в графический процессор и обратно:
x = rand(5,6) [y,q] = nndata2gpu(x) x2 = gpu2nndata(y,q)
Скопируйте из GPU данные массива нейронных сетевых ячеек, представляющие четыре временных ряда, каждый из которых состоит из пяти временных шагов 2-элементных и 3-элементных сигналов.
x = nndata([2;3],4,5) [y,q,n,ts] = nndata2gpu(x) x2 = gpu2nndata(y,q,n,ts)