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