how to copy layers and connections from an existing neural network?

6 visualizzazioni (ultimi 30 giorni)
just installed the latest version and find the support for deep learning is better and better. here, i have a question. I want to create a new network, but i do not want to write from scratch. take googlenet for example, I want to create a new network which can be a little like googlenet. but not all the same. maybe I need to refer some layers or structure. so how to copy layers and connections from an existing neural network?

Risposte (1)

Von Duesenberg
Von Duesenberg il 11 Lug 2018
Something along the lines (I had an exemple withe Alexnet, but the basic principle should be identical; here, I just resize the input layers because I have gray, not RGB, images, and I have 45 classes):
net = alexnet;
layers = net.Layers;
layers(1) = imageInputLayer([227, 227,1]);
layers(2) = convolution2dLayer([11, 11], 96,'Padding',0, 'Stride', 4, 'BiasLearnRateFactor',2);
layers(23) = fullyConnectedLayer(45);
layers(24) = softmaxLayer();
layers(25) = classificationLayer();
  1 Commento
Jack Xiao
Jack Xiao il 12 Lug 2018
Modificato: Jack Xiao il 12 Lug 2018
thanks, I make a mistake previously. my copy operation makes a struct not a Layer. maybe it is a common operation in matlab. take " layersKept = net.Layers(1:25) ; " for example, it is for copying. and for connection copy: connectionKept = net.Connections(1:27,1:2) ;

Accedi per commentare.

Categorie

Scopri di più su Image Data Workflows in Help Center e File Exchange

Prodotti


Release

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by