Problem with the "trainNetwork" function of neural network toolbox

2 visualizaciones (últimos 30 días)
Min-Tzu Wu
Min-Tzu Wu el 6 de Oct. de 2016
Comentada: Alam Noor el 1 de Mayo de 2018
I'm trying to do a transfer learning using AlexNet in version R2016a. But when my code ran to the "trainNetwork" function, I received these error messages:
Undefined function 'apply' for input arguments of type 'single'.
Error in trainNetwork>iComputeAverageImage (line 209)
X = apply(augmentations, X);
Error in trainNetwork>iInitializeNetworkNormalizations
(line 190)
avgI = iComputeAverageImage(data, augmentations);
Error in trainNetwork (line 78)
trainedNet = iInitializeNetworkNormalizations(trainedNet,
X, Y, opts, precision);
Error in trainingCompositionData (line 68)
convnetTransfer = trainNetwork(imds,transLayers,optionsTransfer);
I think the problem is not from my code, because the variable "augmentation" is an empty array and the variable "X" is a 4-D single matrix, which is specified by the "trainNetwork" itself.
Furthermore, I tried to find the code of "apply" function by open(F4) it and MATLAB redirected the page to the "ImageTransform" class, below is the "apply" function part of the class:
methods(Sealed)
%------------------------------------------------------------------
% Applies an array of transforms to a batch of RGB or grayscale
% images.
%------------------------------------------------------------------
function y = apply(this, batch)
y = batch;
for i = 1:numel(this)
y = doTransform(this(i), y);
end
end
end
I think this one is the correct code. But according to the error message, it seems that MATLAB doesn't use this function but other "apply" function in executing time.
Did anyone encounter this problem too?
  3 comentarios
Joss Knight
Joss Knight el 12 de En. de 2017
MATLAB is too memory hungry. This has been improved in a future release. 2 GB is still a bit restrictive for training AlexNet though, if the GPU is also driving the display.
Alam Noor
Alam Noor el 1 de Mayo de 2018
Stefano Giorgi, can you please help for error of Error using classify (line 122) Requires at least three arguments.
Error in AlexNet_1 (line 12) label=classify(net,pic);

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 6 de Oct. de 2016
Try training on double precision values not single precision.

flysuya
flysuya el 5 de Dic. de 2016
yes, I meet the same question. Do you find solution?
  2 comentarios
Walter Roberson
Walter Roberson el 5 de Dic. de 2016
What happened when you changed your data to double precision?
Roopam Gupta
Roopam Gupta el 5 de Dic. de 2017
it does not change the error

Iniciar sesión para comentar.

Categorías

Más información sobre Deep Learning Toolbox en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by