i just build a new deep learning network layer and i got this error

4 views (last 30 days)
Madhu Cherukula
Madhu Cherukula on 11 May 2021
Answered: Katja Mogalle on 12 May 2021
Create Deep Learning Network Architecture
Script for creating the layers for a deep learning network with the following properties:
Number of layers: 177
Number of connections: 192
Run the script to create the layers in the workspace variable lgraph.
To learn more, see Generate MATLAB Code From Deep Network Designer.
Auto-generated by MATLAB on 11-May-2021 23:22:35
Create Layer Graph
Create the layer graph variable to contain the network layers.
lgraph = layerGraph();
Add Layer Branches
Add the branches of the network to the layer graph. Each branch is a linear array of layers.
tempLayers = [
imageInputLayer([224 224 3],"Name","input_1")
convolution2dLayer([7 7],64,"Name","conv1","Padding",[3 3 3 3],"Stride",[2 2])
batchNormalizationLayer("Name","bn_conv1","Epsilon",0.001)
reluLayer("Name","activation_1_relu")
maxPooling2dLayer([3 3],"Name","max_pooling2d_1","Padding",[1 1 1 1],"Stride",[2 2])];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],64,"Name","res2a_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2a_branch2a","Epsilon",0.001)
reluLayer("Name","activation_2_relu")
convolution2dLayer([3 3],64,"Name","res2a_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn2a_branch2b","Epsilon",0.001)
reluLayer("Name","activation_3_relu")
convolution2dLayer([1 1],256,"Name","res2a_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2a_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res2a_branch1","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2a_branch1","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_1")
reluLayer("Name","activation_4_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],64,"Name","res2b_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2b_branch2a","Epsilon",0.001)
reluLayer("Name","activation_5_relu")
convolution2dLayer([3 3],64,"Name","res2b_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn2b_branch2b","Epsilon",0.001)
reluLayer("Name","activation_6_relu")
convolution2dLayer([1 1],256,"Name","res2b_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2b_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_2")
reluLayer("Name","activation_7_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],64,"Name","res2c_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2c_branch2a","Epsilon",0.001)
reluLayer("Name","activation_8_relu")
convolution2dLayer([3 3],64,"Name","res2c_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn2c_branch2b","Epsilon",0.001)
reluLayer("Name","activation_9_relu")
convolution2dLayer([1 1],256,"Name","res2c_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn2c_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_3")
reluLayer("Name","activation_10_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],128,"Name","res3a_branch2a","BiasLearnRateFactor",0,"Stride",[2 2])
batchNormalizationLayer("Name","bn3a_branch2a","Epsilon",0.001)
reluLayer("Name","activation_11_relu")
convolution2dLayer([3 3],128,"Name","res3a_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn3a_branch2b","Epsilon",0.001)
reluLayer("Name","activation_12_relu")
convolution2dLayer([1 1],512,"Name","res3a_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3a_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],512,"Name","res3a_branch1","BiasLearnRateFactor",0,"Stride",[2 2])
batchNormalizationLayer("Name","bn3a_branch1","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_4")
reluLayer("Name","activation_13_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],128,"Name","res3b_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3b_branch2a","Epsilon",0.001)
reluLayer("Name","activation_14_relu")
convolution2dLayer([3 3],128,"Name","res3b_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn3b_branch2b","Epsilon",0.001)
reluLayer("Name","activation_15_relu")
convolution2dLayer([1 1],512,"Name","res3b_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3b_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_5")
reluLayer("Name","activation_16_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],128,"Name","res3c_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3c_branch2a","Epsilon",0.001)
reluLayer("Name","activation_17_relu")
convolution2dLayer([3 3],128,"Name","res3c_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn3c_branch2b","Epsilon",0.001)
reluLayer("Name","activation_18_relu")
convolution2dLayer([1 1],512,"Name","res3c_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3c_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_6")
reluLayer("Name","activation_19_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],128,"Name","res3d_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3d_branch2a","Epsilon",0.001)
reluLayer("Name","activation_20_relu")
convolution2dLayer([3 3],128,"Name","res3d_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn3d_branch2b","Epsilon",0.001)
reluLayer("Name","activation_21_relu")
convolution2dLayer([1 1],512,"Name","res3d_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn3d_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_7")
reluLayer("Name","activation_22_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res4a_branch2a","BiasLearnRateFactor",0,"Stride",[2 2])
batchNormalizationLayer("Name","bn4a_branch2a","Epsilon",0.001)
reluLayer("Name","activation_23_relu")
convolution2dLayer([3 3],256,"Name","res4a_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn4a_branch2b","Epsilon",0.001)
reluLayer("Name","activation_24_relu")
convolution2dLayer([1 1],1024,"Name","res4a_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4a_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],1024,"Name","res4a_branch1","BiasLearnRateFactor",0,"Stride",[2 2])
batchNormalizationLayer("Name","bn4a_branch1","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_8")
reluLayer("Name","activation_25_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res4b_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4b_branch2a","Epsilon",0.001)
reluLayer("Name","activation_26_relu")
convolution2dLayer([3 3],256,"Name","res4b_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn4b_branch2b","Epsilon",0.001)
reluLayer("Name","activation_27_relu")
convolution2dLayer([1 1],1024,"Name","res4b_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4b_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_9")
reluLayer("Name","activation_28_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res4c_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4c_branch2a","Epsilon",0.001)
reluLayer("Name","activation_29_relu")
convolution2dLayer([3 3],256,"Name","res4c_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn4c_branch2b","Epsilon",0.001)
reluLayer("Name","activation_30_relu")
convolution2dLayer([1 1],1024,"Name","res4c_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4c_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_10")
reluLayer("Name","activation_31_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res4d_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4d_branch2a","Epsilon",0.001)
reluLayer("Name","activation_32_relu")
convolution2dLayer([3 3],256,"Name","res4d_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn4d_branch2b","Epsilon",0.001)
reluLayer("Name","activation_33_relu")
convolution2dLayer([1 1],1024,"Name","res4d_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4d_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_11")
reluLayer("Name","activation_34_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res4e_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4e_branch2a","Epsilon",0.001)
reluLayer("Name","activation_35_relu")
convolution2dLayer([3 3],256,"Name","res4e_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn4e_branch2b","Epsilon",0.001)
reluLayer("Name","activation_36_relu")
convolution2dLayer([1 1],1024,"Name","res4e_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4e_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_12")
reluLayer("Name","activation_37_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],256,"Name","res4f_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4f_branch2a","Epsilon",0.001)
reluLayer("Name","activation_38_relu")
convolution2dLayer([3 3],256,"Name","res4f_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn4f_branch2b","Epsilon",0.001)
reluLayer("Name","activation_39_relu")
convolution2dLayer([1 1],1024,"Name","res4f_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn4f_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_13")
reluLayer("Name","activation_40_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],2048,"Name","res5a_branch1","BiasLearnRateFactor",0,"Stride",[2 2])
batchNormalizationLayer("Name","bn5a_branch1","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],512,"Name","res5a_branch2a","BiasLearnRateFactor",0,"Stride",[2 2])
batchNormalizationLayer("Name","bn5a_branch2a","Epsilon",0.001)
reluLayer("Name","activation_41_relu")
convolution2dLayer([3 3],512,"Name","res5a_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn5a_branch2b","Epsilon",0.001)
reluLayer("Name","activation_42_relu")
convolution2dLayer([1 1],2048,"Name","res5a_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn5a_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_14")
reluLayer("Name","activation_43_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],512,"Name","res5b_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn5b_branch2a","Epsilon",0.001)
reluLayer("Name","activation_44_relu")
convolution2dLayer([3 3],512,"Name","res5b_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn5b_branch2b","Epsilon",0.001)
reluLayer("Name","activation_45_relu")
convolution2dLayer([1 1],2048,"Name","res5b_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn5b_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_15")
reluLayer("Name","activation_46_relu")];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
convolution2dLayer([1 1],512,"Name","res5c_branch2a","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn5c_branch2a","Epsilon",0.001)
reluLayer("Name","activation_47_relu")
convolution2dLayer([3 3],512,"Name","res5c_branch2b","BiasLearnRateFactor",0,"Padding","same")
batchNormalizationLayer("Name","bn5c_branch2b","Epsilon",0.001)
reluLayer("Name","activation_48_relu")
convolution2dLayer([1 1],2048,"Name","res5c_branch2c","BiasLearnRateFactor",0)
batchNormalizationLayer("Name","bn5c_branch2c","Epsilon",0.001)];
lgraph = addLayers(lgraph,tempLayers);
tempLayers = [
additionLayer(2,"Name","add_16")
leakyReluLayer(0.01,"Name","leakyrelu")
globalAveragePooling2dLayer("Name","gapool")
fullyConnectedLayer(10,"Name","fc")
softmaxLayer("Name","softmax")
classificationLayer("Name","classoutput")];
lgraph = addLayers(lgraph,tempLayers);
% clean up helper variable
clear tempLayers;
Connect Layer Branches
Connect all the branches of the network to create the network graph.
lgraph = connectLayers(lgraph,"max_pooling2d_1","res2a_branch2a");
lgraph = connectLayers(lgraph,"max_pooling2d_1","res2a_branch1");
lgraph = connectLayers(lgraph,"bn2a_branch2c","add_1/in1");
lgraph = connectLayers(lgraph,"bn2a_branch1","add_1/in2");
lgraph = connectLayers(lgraph,"activation_4_relu","res2b_branch2a");
lgraph = connectLayers(lgraph,"activation_4_relu","add_2/in2");
lgraph = connectLayers(lgraph,"bn2b_branch2c","add_2/in1");
lgraph = connectLayers(lgraph,"activation_7_relu","res2c_branch2a");
lgraph = connectLayers(lgraph,"activation_7_relu","add_3/in2");
lgraph = connectLayers(lgraph,"bn2c_branch2c","add_3/in1");
lgraph = connectLayers(lgraph,"activation_10_relu","res3a_branch2a");
lgraph = connectLayers(lgraph,"activation_10_relu","res3a_branch1");
lgraph = connectLayers(lgraph,"bn3a_branch1","add_4/in2");
lgraph = connectLayers(lgraph,"bn3a_branch2c","add_4/in1");
lgraph = connectLayers(lgraph,"activation_13_relu","res3b_branch2a");
lgraph = connectLayers(lgraph,"activation_13_relu","add_5/in2");
lgraph = connectLayers(lgraph,"bn3b_branch2c","add_5/in1");
lgraph = connectLayers(lgraph,"activation_16_relu","res3c_branch2a");
lgraph = connectLayers(lgraph,"activation_16_relu","add_6/in2");
lgraph = connectLayers(lgraph,"bn3c_branch2c","add_6/in1");
lgraph = connectLayers(lgraph,"activation_19_relu","res3d_branch2a");
lgraph = connectLayers(lgraph,"activation_19_relu","add_7/in2");
lgraph = connectLayers(lgraph,"bn3d_branch2c","add_7/in1");
lgraph = connectLayers(lgraph,"activation_22_relu","res4a_branch2a");
lgraph = connectLayers(lgraph,"activation_22_relu","res4a_branch1");
lgraph = connectLayers(lgraph,"bn4a_branch2c","add_8/in1");
lgraph = connectLayers(lgraph,"bn4a_branch1","add_8/in2");
lgraph = connectLayers(lgraph,"activation_25_relu","res4b_branch2a");
lgraph = connectLayers(lgraph,"activation_25_relu","add_9/in2");
lgraph = connectLayers(lgraph,"bn4b_branch2c","add_9/in1");
lgraph = connectLayers(lgraph,"activation_28_relu","res4c_branch2a");
lgraph = connectLayers(lgraph,"activation_28_relu","add_10/in2");
lgraph = connectLayers(lgraph,"bn4c_branch2c","add_10/in1");
lgraph = connectLayers(lgraph,"activation_31_relu","res4d_branch2a");
lgraph = connectLayers(lgraph,"activation_31_relu","add_11/in2");
lgraph = connectLayers(lgraph,"bn4d_branch2c","add_11/in1");
lgraph = connectLayers(lgraph,"activation_34_relu","res4e_branch2a");
lgraph = connectLayers(lgraph,"activation_34_relu","add_12/in2");
lgraph = connectLayers(lgraph,"bn4e_branch2c","add_12/in1");
lgraph = connectLayers(lgraph,"activation_37_relu","res4f_branch2a");
lgraph = connectLayers(lgraph,"activation_37_relu","add_13/in2");
lgraph = connectLayers(lgraph,"bn4f_branch2c","add_13/in1");
lgraph = connectLayers(lgraph,"activation_40_relu","res5a_branch1");
lgraph = connectLayers(lgraph,"activation_40_relu","res5a_branch2a");
lgraph = connectLayers(lgraph,"bn5a_branch1","add_14/in2");
lgraph = connectLayers(lgraph,"bn5a_branch2c","add_14/in1");
lgraph = connectLayers(lgraph,"activation_43_relu","res5b_branch2a");
lgraph = connectLayers(lgraph,"activation_43_relu","add_15/in2");
lgraph = connectLayers(lgraph,"bn5b_branch2c","add_15/in1");
lgraph = connectLayers(lgraph,"activation_46_relu","res5c_branch2a");
lgraph = connectLayers(lgraph,"activation_46_relu","add_16/in2");
lgraph = connectLayers(lgraph,"bn5c_branch2c","add_16/in1");
Plot Layers
plot(lgraph);
imds = imageDatastore('C:\Users\HP\Desktop\code\dataset',"IncludeSubfolders",true, 'LabelSource','folderNames')
options1 = trainingOptions('sgdm', ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropFactor',0.2, ...
'LearnRateDropPeriod',5, ...
'MaxEpochs',20, ...
'MiniBatchSize',64, ...
'Plots','training-progress')
net = trainNetwork(imds,tempLayers,options)
%[net, traininfo] = trainNetwork(imds,tempLayers,options)
%covennet1 = trainNetwork(imds,lgraph,options)
imp = input('Enter Input')
I = imread(imp)
figure;
imshow(I)
class = classify(net,I)
msgbox(char(class))
inp = '00001.jpg'
I1 = imread(inp)
figure,
imshow(I1)
error is :
Unrecognized function or variable 'tempLayers'.

Answers (1)

Katja Mogalle
Katja Mogalle on 12 May 2021
Hello Madhu,
It looks like you used the Deep Network Designer app to build the network and now you are trying to train it.
The final network architecture that is being built in this script is encapsulated in the variable "lgraph". So the variable lgraph needs to be used when calling trainNetwork.
I see the line "covennet1 = trainNetwork(imds,lgraph,options)" in your script. Did you try to execute this? I think it should work.
Note that from MATLAB R2020a onwards you can also train the network directly from the Deep Network Designer app. See this documentation example for more information: https://uk.mathworks.com/help/releases/R2020a/deeplearning/gs/get-started-with-deep-network-designer.html
I hope this helps.
Katja

Community Treasure Hunt

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

Start Hunting!

Translated by