Prediction on a pre-trained neural network
10 views (last 30 days)
Show older comments
Mårten
on 18 Mar 2020
Commented: Srivardhan Gadila
on 21 Mar 2020
I would like to define my own neural network and do predictions on it without performing any training.
Something like:
- Define layers
- Set the weights and biases of each layer (based on a trained model from another context)
- Perform prediction
An example of 1) is below
layers = [
imageInputLayer([32 32 1])
convolution2dLayer(5,6)
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(5,6)
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
fullyConnectedLayer(80)
batchNormalizationLayer
reluLayer
fullyConnectedLayer(6)
batchNormalizationLayer
];
Any pointers on 2) and 3) would be appreciated.
0 Comments
Accepted Answer
Srivardhan Gadila
on 21 Mar 2020
Using weights of different network to the current network:
for 2 networks net1 & net2, copy the layers to some variable
layers = net1.Layers;
layers(net1layerindex).Weights(net1index) = net2.Layers(net2layerindex).Weights(net2index);
layers(convLayerIndex).Weights(:,:,channelIndex) = zeros(channelDimension)
%also
layers(convLayerIndex).Weights(:,:,channelIndex,Index) = zeros(respectiveDimension)
Use the above layers to create a DAG or a Series network. You can also refer to the documentation of the assembleNetwork function which helps creating deep learning networks from layers without training.
You can also set the Learning factor for a layer as follows:
layer.WeightLearnRateFactor = 0;
1 Comment
More Answers (0)
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!