更新最终FC层以进行精细调整AlexNet时出错

时间:2017-06-12 01:45:38

标签: matlab computer-vision deep-learning conv-neural-network matconvnet

您好我最近开始为我自己的数据集微调Alexnet模型。

我想修改最后两层,因为我只有两个类:

net.layers = net.layers(1:end-2); 

但是当我像这样修改最终的FC层时,它给了我错误。

net.layers{end+1} = struct('type', 'conv',...
'weights', {{f*randn(1,1,4196,2, 'single'), zeros(1,2,'single')}},...
'stride', [1 1],...
'pad', [0 0 0 0]) ;
Cell contents assignment to a non-cell array object.

任何人,请帮我解决错误

由于

更新:

enter image description here

1 个答案:

答案 0 :(得分:0)

您的网似乎是DagNN。你不能像simplenn一样添加图层。您可以修改net.layer(end)的相应net.param(。)中的权重矩阵(假设net.layer(end)是最终的FC)或删除最后一层并使用帮助程序自己添加一个新层@DagNN文件夹中提供的函数(即removeLayer和addLayer)。请注意,removeLayer和addLayer是类DagNN的私有函数。