为什么运行vl_nnrelu时MatConvNet库无法正常工作?

Pin*_*hio 2 matlab machine-learning computer-vision conv-neural-network

我正在做实践/练习,学习使用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) ;
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到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) ;
Run Code Online (Sandbox Code Playgroud)

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

Ham*_*ard 5

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