我正在使用MathConvnet 1.0 beta24。我可以正确安装和编译工具箱。当我关注网站上的Quickstart时(http://www.vlfeat.org/matconvnet/quick/(;我从;
开始untar('http://www.vlfeat.org/matconvnet/download/matconvnet-1.0-beta24.tar.gz') ;
cd matconvnet-1.0-beta24
run matlab/vl_compilenn ;
之后,我想使用一个Resnet型号,而不是Imagenet-VGG-F模型,因此我继续;
urlwrite(...
'http://www.vlfeat.org/matconvnet/models/imagenet-resnet-50-dag.mat', ...
'imagenet-resnet-50-dag.mat') ;
run matlab/vl_setupnn ;
net = load('imagenet-resnet-50-dag.mat') ;
它可以正常工作,但是当我运行以下命令;
时net = vl_simplenn_tidy(net) ;
我有以下错误;
单元格内容引用了非细胞数组对象。
Error in vl_simplenn_tidy (line 47)
layer = net.layers{l} ;
imagenet-vgg-f型号工作正常,但是当我尝试使用重新连接模型时,我会收到错误。我不知道如何解决这个问题。这对我来说非常重要,因为我是主题的新手。
任何想法都受到赞赏
预先感谢
如果我没记错的话,resnet使用dagnn(即,网络是有向的无环图(。VGG是简单的。因此,您不能将vl_simplenn_tidy用于重新系统。错误是由使用{}访问net.layers引起的。在dagnn中,您只能通过((访问层,因为它是matlab struct数组,而不是单元格数组。也就是说,Dagnn和Simplenn之间还有其他差异。因此,您不能在dagnn上使用vl_simplenn_tidy((。