В MATLAB я хочу изменить классификационный слой предварительно обученной сети. Мои коды следующие:
% To RE-TRAIN a pretrained network to classify new images, REPLACE THESE TWO LAYERS with new layers adapted to the new data set.
% Extract the layer graph from the trained network.
% If the network is a SeriesNetwork object, such as AlexNet, VGG-16, or VGG-19,
% then convert the list of layers in net.Layers to a layer graph.
TransferedLayers = net.Layers;
TransferedLayers(finalLayer)=tverskyPixelClassificationLayer('tversky',0.3,0.7);
if isa(net,'SeriesNetwork')
lgraph = layerGraph(TransferedLayers);
else
net.Layers(finalLayer)=tverskyPixelClassificationLayer('tversky',0.3,0.7); % <== THIS LINE GIVES ERROR
lgraph = layerGraph(net);
end
Следующее назначение невозможно. «Ошибка в том, что вы не можете установить доступное только для чтения свойство« Слои »DAGNetwork». Как решить проблему на
net.Layers(finalLayer)=tverskyPixelClassificationLayer('tversky',0.3,0.7);