Формат нейронные данные для эффективного обучения графического процессора или симуляции
nndata2gpu(x)
[Y,Q,N,TS] = nndata2gpu(X)
nndata2gpu(X,PRECISION)
nndata2gpu требует Parallel Computing Toolbox™.
nndata2gpu(x) берет N- Q матричный X из Q
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сигнальный вектор th на временном шаге ts, через весь Q временные ряды. В этом случае, gpuArray Y возвращенный QQ- (sum(Ni)*TS). Размерности NiQ, и 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)