MATLAB Answers

GPU: Error using nnGPU.netHints - Unsupported processing function

1 view (last 30 days)
Álvaro Romero Calvo
Álvaro Romero Calvo on 24 Jan 2018
Hi guys!
I'm starting with Neural Networks in Matlab and I found a problem that I cannot solve when trying to use my GPU. I followed this post to prepare a test code that worked well with the cancer database and my GPU quadro M2200:
inputs = cancerInputs;
targets = cancerTargets;
% Transfer to GPu
inputs_g = nndata2gpu(inputs);
targets_g = nndata2gpu(targets);
% code
net1 = feedforwardnet(100);
net2 = configure(net1,inputs,targets); % Configure with MATLAB arrays
% Avoid exponential sigmoid
for i=1:net2.numLayers
if strcmp(net2.layers{i}.transferFcn,'tansig')
net2.layers{i}.transferFcn = 'elliotsig';
% Configure and train
net2 = train(net2,inputs_g,targets_g); % Execute on GPU with NNET formatted gpuArrays
outputs_g = net2(inputs_g); % Execute on GPU
outputs = gpu2nndata(outputs_g); % Transfer array to local workspace
% Results
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs)
% View the Network
% Plots
% Uncomment these lines to enable various plots.
% figure, plotperform(tr)
% figure, plottrainstate(tr)
% figure, plotconfusion(targets,outputs)
% figure, ploterrhist(errors)
Now I want to train my own data, but I always get the following error:
Error using nnGPU.netHints (line 72)
Unsupported processing function.
Error in nncalc.preCalcData>iPreCalcDataForNNDATA2GPU (line 42)
hints = mode.netHints(net,mode.hints);
Error in nncalc.preCalcData (line 7)
data = iPreCalcDataForNNDATA2GPU(net,data,doPc);
Error in nncalc.setup1>setupImpl (line 176)
calcData = nncalc.preCalcData(matlabMode,matlabHints,net,data,doPc,doPd,calcHints.doFlattenTime);
Error in nncalc.setup1 (line 16)
[calcMode,calcNet,calcData,calcHints,net,resourceText] = setupImpl(calcMode,net,data);
Error in nncalc.setup (line 7)
[calcMode,calcNet,calcData,calcHints,net,resourceText] = nncalc.setup1(calcMode,net,data);
Error in network/train (line 357)
[calcLib,calcNet,net,resourceText] = nncalc.setup(calcMode,net,data);
Error in test (line 38)
net2 = train(net2,inputs_g,targets_g); % Execute on GPU with NNET formatted gpuArrays
My input data is a 3240x10850 single matrix of 1s and 0s and my target matrix is a 1254x10850 single matrix of 1s and 0s (following the usual format). Do someone have an idea of what is happening?
Thanks in advance!

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by