How to add more datasets into pre-trained network in the deep learning process

6 次查看(过去 30 天)
I have used 40,000 input images to train a network in deep learning but want to add more datasets to escalate its accuracy.
Do you have any good suggestions? Matlab recommends "trainNetwork" for deep learning. However, unfortunately, it seems the function is not eligible to use previous network.

采纳的回答

Delprat Sebastien
编辑:Delprat Sebastien 2020-1-6
I'm not sure this is possible, what ever the Deep-learning framework you are using: the network has been trained to classify image from a dataset A. So. Basically it has learned how to map the images to the label for this specific dataset. If now, you continue to train this network using only a dataset B,then.the training will progressively make the network forget about A.
The only solution I see would be to continue the training on a composite dataset (comprising both A and B) so the initial classification over A is preserved.
Look at the example about transfert learning. This is basically what you try to do. You have to modify the code. To: 1) build an imagedatastore with both dataset 2) keep the original network in place. Maybe rework the final layer to matches the new number of classes(if any new classes in the dataset B) 3) you have to decide if you would like to train the whole network or just the final layer. If you have the same number of classes, then obviously you will keep the same learning rate for all the layers. If you have new classes, then the final layers have been changed, so you will probably need to train the last laye with a higherlearning rate for a few epoch.

更多回答(0 个)

类别

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

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by