Как изменить слой классификации предварительно обученной глубокой сети в MATLAB? - PullRequest
0 голосов
/ 16 апреля 2020

В 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...