Matconvnet 空洞卷积导致维度错误以及vl_smplenn.m文件修改

MATLAB下使用matconvnet框架,使用空洞卷积时,可能会出现以下错误:

错误使用  - 
矩阵维度必须一致。

出错 Demo_denoising_gray (line 80)
        output = input - res(end).x;

错误的原因在于vl_smplenn.m没有添加空洞卷积。需要进入matconvnet的框架内部,修改vl_smplenn.m。解决方案如下:

  1. 找到vl_smplenn.m
    vl_smplenn.m的文件位置为:matconvnet安装位置+\matlab\simplenn
    我的安装目录为:D:\software\Matlab2017a\matconvnet\matconvnet-1.0-beta25\matconvnet-1.0-beta25\matlab\simplenn

  2. 定位到函数的第301行和302行之间
    如下图所示
    在这里插入图片描述

  3. 第301行和302行之间加上一行
    加完后如下图所示
    在这里插入图片描述
    然后,因为空洞卷积带来的维度不匹配的问题就解决了

猜你喜欢

转载自blog.csdn.net/zseqsc_asd/article/details/85782351