我正在做practical/exercises来学习使用MatConvNet并尝试运行:

% -------------------------------------------------------------------------
% Part 1.2: Non-linear gating (ReLU)
% -------------------------------------------------------------------------

w = single(repmat([1 0 -1], [1, 1, 3])) ;
w = cat(4, w, -w) ;
y = vl_nnconv(x, w, []) ;
z = vl_nnrelu(y) ;

figure(6) ; clf ; colormap gray ;
subplot(1,2,1) ; vl_imarraysc(y) ;
subplot(1,2,2) ; vl_imarraysc(z) ;


但是当我这样做时,我在z = vl_nnrelu(y) ;上收到一条错误消息,如下所示:

Error using vl_argparse (line 52)
The name of the parameter number 1 is not a string.

Error in vl_nnrelu (line 34)
opts = vl_argparse(opts, varargin, 'nonrecursive') ;

Error in exercise1 (line 52)
z = vl_nnrelu(y) ;


这对我来说似乎很奇怪。我也没有运行他们的教程提供的matconvnet库,因为它似乎对我不起作用(而是从他们的网站上获得了最新的库...)。还有其他人遇到类似的错误吗?

最佳答案

由于使用了VLFeat中的vl_argparse而不是MatConvNet,因此出现了此问题。要解决此问题,请先加载vl_setup(VLFeat设置),然后再加载vl_setupnn(MatConvNet设置)。

关于matlab - 为什么我运行vl_nnrelu时MatConvNet库不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37623130/

10-09 09:03