Can I feed a neural network with a "predefined" set of training images at every iteration ?

2 次查看(过去 30 天)
Hi everyone,
I am working with a convolutional neural network (GoogLeNet) but instead of using classic "full" images, I am working with patches cropped out of the images. In other words, each class contains several images (which are actually subfolders), and each image contains several patches (the png files).
I wrote a simple function that reads n random patches (png files) belonging to m random images at every run, and was wondering how to implement it in the training process. I basically want to use those n randomly generated training png files (minibatch) at every iteration. Should this be done within the "trainNetwork" function?
Is there any question/example that deals with this topic?
Thank you very much.
Best regards
  4 个评论
Sindar
Sindar 2020-9-25
I'm sorry, I'm not sure - my familiarity with the problem is shallow. My first thought would be that you want a single training set for every iteration, so you should create the image datastore once and stick with it. (Perhaps increase n? or run multiple times to gather a larger training set)
M J
M J 2020-9-25
编辑:M J 2020-9-25
Yes. For example, assuming I have 100 iterations per epoch, I would like to repeatedly generate 100 random training subsets (based on my set of rules, as mentioned above), each of which would be fed to the network at every iteration.

请先登录,再进行评论。

采纳的回答

Srivardhan Gadila
Srivardhan Gadila 2020-9-28
Based on the above information in question & comments I think using the custom training loop would be a good Idea. You can refer to Train Network Using Custom Training Loop & Deep Learning Custom Training Loops for more information.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by