0

我正在使用mathconvnet 1.0 beta24。我可以正确安装和编译工具箱。当我按照网站上的快速入门(http://www.vlfeat.org/matconvnet/quick/); 我开始;matconvnet上的残余网络单元格内容引用错误

untar('http://www.vlfeat.org/matconvnet/download/matconvnet-1.0-beta24.tar.gz') ; 
cd matconvnet-1.0-beta24 
run matlab/vl_compilenn ; 

之后,而不是imagenet-vgg-f模型我想使用其中一个resnet模型,所以我继续;

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模型我得到的错误。我不知道如何解决这个问题。这对我来说非常重要,因为我是主题新手。

任何想法被理解预先

回答

0

如果没有记错

谢谢,RESNET使用DAGNN(即,所述网络是向无环图)。 VGG很简单。因此,ResNet不能使用vl_simplenn_tidy。错误是由使用{}访问net.layers引起的。在DAGNN中,你只能通过()访问图层,因为它是一个matlab结构数组,而不是一个单元数组。也就是说,dagNN和simplenn之间还有其他区别。所以你不能在dagNN上使用vl_simplenn_tidy()。

相关问题