loading and training an existing network.

3 visualizaciones (últimos 30 días)
Mark Hubelbank
Mark Hubelbank el 7 de Oct. de 2024
Editada: Matt J el 8 de Oct. de 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 comentarios
Mark Hubelbank
Mark Hubelbank el 7 de Oct. de 2024
Movida: Walter Roberson el 7 de Oct. de 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 el 7 de Oct. de 2024
Probably
net1 = trainnet(data,clabels,net1,"crossentropy",options);

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 7 de Oct. de 2024
previous = load("savednet","net","layers");
net = trainNetwork(data,clabels,previous.net,options);
  1 comentario
Matt J
Matt J el 7 de Oct. de 2024
Editada: Matt J el 8 de Oct. de 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..

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Data Workflows en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by