how to save/load a deep neural network after transfer learning

2 visualizaciones (últimos 30 días)
Raphael
Raphael el 21 de Nov. de 2018
Comentada: Raphael el 31 de Jul. de 2019
Hi
I have fine-tuned the GoogleNet deep neural network following the example provided in C:\...\Examples\nnet\TransferLearningUsingGoogLeNetExample\TransferLearningUsingGoogLeNetExample.m.
The only change I made is that I used a different ImageStore created by
images = imageDatastore('f:\...\Dstore','IncludeSubfolders',true,'LabelSource','foldernames');
images.ReadFcn = @(loc)imresize(imread(loc),[224,224]);
[trainImages,valImages] = splitEachLabel(images,.7,'randomized');
That ImageStore includes about 1000 images. Once training completed I saved my whole workspace with the command:
save googlenet_mine01
Now I am trying to reuse this network (after exiting and restarting Matlab) but the command
load googlenet_mine01
gives me the following error message:
Error using matlab.io.datastore.ImageDatastore/set.Labels (line 208)
Argument 'numel' must be followed by a nonnegative real scalar integer.
By looking at the stack at the error point I see that imds.Numfiles is empty but I don't understand why?!
Raphael
  2 comentarios
Julius Å
Julius Å el 30 de Jul. de 2019
I have this same problem. Did you manage to solve it?
Raphael
Raphael el 31 de Jul. de 2019
Not really. I came to the conclusion that a trained network can be reused only on the machine on which it was created and only if you still have the images that were originally included in the ImageStore still present at the same location

Iniciar sesión para comentar.

Respuestas (0)

Categorías

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

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by