loading and training an existing network.

1 Ansicht (letzte 30 Tage)
Mark Hubelbank
Mark Hubelbank am 7 Okt. 2024
Bearbeitet: Matt J am 8 Okt. 2024
I am trying define a network, then train it in multiple sessions. The problem is that I can't get the load or read of the network to work in the second session. The code is:
layers = [ ...
sequenceInputLayer(270)
bilstmLayer(numHiddenUnits,OutputMode="last")
fullyConnectedLayer(numClasses)
softmaxLayer
classificationLayer]
options = trainingOptions("adam", ...
InitialLearnRate=0.002,...
MaxEpochs=15, ...
Shuffle="never", ...
GradientThreshold=1, ...
Verbose=false, ...
ExecutionEnvironment="gpu", ...
Plots="training-progress");
clabels=categorical(labels);
numLables=numel(clabels)
load("savednet.mat","layers");
net = trainNetwork(data,clabels,layers,options);
save("savednet","net");
I have tried many variations of the load command and it always gives an error on the second argument:
Warning: Variable 'layers' not found.
Exactly what should that look like and then how should it be used as input to the trainNetwork routine?
  7 Kommentare
Mark Hubelbank
Mark Hubelbank am 7 Okt. 2024
Verschoben: Walter Roberson am 7 Okt. 2024
Perhaps I don't understand how one can train in stages then. The idea is that the training will be continued in the second and subsequent sessions. Sort of a continuing transfer learning. The idea is that over time the network keeps improving. perhaps I should be using trainnet instead of trainnetwork. Then it would appear the call is:
load(filename,"net1","layers");
net=trainnet(data,clabels,net1,"crossentropy",options);
Is this the correct direction?
Walter Roberson
Walter Roberson am 7 Okt. 2024
Probably
net1 = trainnet(data,clabels,net1,"crossentropy",options);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 7 Okt. 2024
previous = load("savednet","net","layers");
net = trainNetwork(data,clabels,previous.net,options);
  1 Kommentar
Matt J
Matt J am 7 Okt. 2024
Bearbeitet: Matt J am 8 Okt. 2024
perhaps I should be using trainnet instead of trainnetwork.
It would be better, since trainnet is newer and has more flexibility. However, it won't make a difference as far as how to resume the training of a pre-existing network..

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Image Data Workflows finden Sie in Help Center und File Exchange

Produkte


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by