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

3 Ansichten (letzte 30 Tage)
Raphael
Raphael am 21 Nov. 2018
Kommentiert: Raphael am 31 Jul. 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 Kommentare
Julius Å
Julius Å am 30 Jul. 2019
I have this same problem. Did you manage to solve it?
Raphael
Raphael am 31 Jul. 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

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by