error "Error using nnet.inter​nal.cnn.la​yer.util.i​nferParame​ters>iInfe​rSize (line 86) The output of layer 13 is incompatible with the input expected by layer 14."

13 次查看(过去 30 天)
where is the error in this code ..i only use googlenet as deep tuning without change any thing in it's Layers except the last 3 layers . i changed the size of my images to be similar of googlenet (224 224) so what wrong
net=googlenet;
TransfereLayers= net.Layers(2:end-3);
%% my layers Layers =[...
imageInputLayer([224 224 3],'Name','input')
TransfereLayers
fullyConnectedLayer(2,'Name',fc)
softmaxLayer
classificationLayer('Name','coutput')];
%% define the weights and biase
Layers(142).Weights = randn([2 1024]) * 0.001;
Layers(142).Bias = randn([2 1])*0.001 + 1;
%% options opts=trainingOptions('sgdm','Initiallearnrate',0.0001,'maxEpoch',maxEpochs ,..... 'Minibatchsize',miniBatchSize ,... 'Plots','training-progress',.... 'LearnRateSchedule', 'piecewise', ... 'LearnRateDropFactor', 0.1, ... 'LearnRateDropPeriod', 1, ... 'ValidationData',valDigitData,'ValidationFrequency',50 );
[mynet, traininfo] = trainNetwork(trainingimages,Layers,opts);
  3 个评论

请先登录,再进行评论。

回答(1 个)

Joakim Lindblad
Joakim Lindblad 2018-3-9
It's because GoogLeNet is a DAG which matlab handles differently than a layered network.
You can try with
trainNetwork(trainingimages,layerGraph(Layers),opts);
but I'm not sure that will be enough in this case.

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by