问题1:

老版本的MatConvNet在编译对cuDNN支持的时候,cuDNN的版本是2或者4比较好,官网有明确的描述。

比如我编译用了cuDNN 6.0的版本,在编译 nnconv_cudnn.cu文件时会出现too few arguments in function call 的错误。

问题2:

更改cuDNN为4.0版本后,编译nnbilinearsampler_cudnn.cu出现以下错误:

nnbilinearsampler_cudnn.cu(24) : fatal error C1021: 无效的预处理器命令“warning”

解决办法是直接注释掉第24行,即可。  2017.11.18

问题3:

GPU/cuDNN编译成功后,运行调用MatConvNet的代码,在使用vl_simplenn做forward pass时候依然出现下面的错误:

An input is not a numeric array (or GPU support not compiled)

该错误发生在vl_simplenn.m中前向传播计算res.x的时候。

解决办法:

更改vl_compilenn.m文件的mex_compile函数。

将 mopts = {'-outdir', fileparts(tgt), src, '-c', mex_opts{:}} ;

更改为 mopts = {'-outdir', fileparts(tgt), src, '-c', mex_opts{:}, '-largeArrayDims'} ; 然后再对GPU版本重新编译 。  2017.11.23

问题4:

新下载了1.25版本的MatConvNet,在nnbilinearsampler_cudnn.cu和nnbilinearsampler.cu文件这里总是编译出现错误。

然后在官网:http://www.vlfeat.org/matconvnet/mfiles/vl_nnbilinearsampler/中明确说明了:Note, cuDNN v5 or higher is required.

于是又换了6.0的cuDNN,可以解决问题。                                                                                                            2017.11.29

问题5:

继续.1.25版本的MatConvNet编译出现无法解析的外部命令的错误。提示:

无法解析外部符号 cudnnCreateSpatialTransformerDescriptor

解决办法:在更换了6.0的cuDNN后,忘记把lib文件和头文件放到cuda的文件夹下,复制过去后,问题解决。

问题6:

1.25版本的MatConvNet中的vl_compilenn.m文件中在506行增加了这样的判断

if strcmp(arch, 'win64') && opts.enableCudnn

这要求&&符号前后都是逻辑值,所以在运行vl_compilenn函数中'enableCudnn'后面要跟true,而不是跟'true',即编译语句为:

vl_compilenn('enableGpu', true, ...
      'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0', ... 
      'cudaMethod', 'nvcc',...
      'enableCudnn', true, ...
      'cudnnRoot', 'xxx\cuDNNv6'); % 这里填写你的cuDNN的路径

否则会报Operands to the || and && operators must be convertible to logical scalar values的错误。 2017.11.30

代码问题: 【MatConvNet库编译】的更多相关文章

  1. 将STM32的标准库编译成lib使用【图文】

    以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间.每次建立工程都这么编译,是一个相当浪费时 ...

  2. 将STM32的标准库编译成lib

    转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...

  3. C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项

    目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件 ...

  4. linux动态库编译和使用详细剖析

    引言 重点讲述linux上使用gcc编译动态库的一些操作.并且对其深入的案例分析.最后介绍一下动态库插件技术, 让代码向后兼容.关于linux上使用gcc基础编译, 预编译,编译,生成机械码最后链接输 ...

  5. linux动态库编译和使用

    linux动态库编译和使用详细剖析 引言 重点讲述linux上使用gcc编译动态库的一些操作.并且对其深入的案例分析.最后介绍一下动态库插件技术, 让代码向后兼容.关于linux上使用gcc基础编译, ...

  6. linux动态库编译和使用详细剖析 - 后续

    引言 - 也许是修行 很久以前写过关于动态库科普文章, 废话反正是说了好多. 核心就是在 linux 上面玩了一下 dlopen : ) linux动态库编译和使用详细剖析 - https://www ...

  7. 转载:将STM32的标准库编译成lib使用【图文】

    from:http://www.cnblogs.com/zyqgold/p/3189719.html 百度上边也有不少关于lib文件的文章,恰巧看到该博文,感觉该博文的条理清晰,步骤明确,故复制到这个 ...

  8. 在VS13上编译通过的代码放在12上编译-错误:l __dtoui3 referenced in function _event_debug_map_HT_GROW

    在VS13上编译通过的代码放在12上编译 遇到错误:l __dtoui3 referenced in function _event_debug_map_HT_GROW 1>------ 已启动 ...

  9. 将pugixml库编译成动态库的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 pugixml库默认是编译成静态库的.要把pugixml库编译成一个动态库,需要对代码做一些修改,具体是将 // If ...

随机推荐

  1. bootstrap --- 在 modal中的 datetimepicker 关闭 ,会造成 modal也会被关闭.

    这个大概是事件冒泡造成的. 解决办法: <form id="userForm" class="form-horizontal"> <input ...

  2. 莫烦tensorflow(4)-placeholder

    import tensorflow as tf input1 = tf.placeholder(tf.float32)input2 = tf.placeholder(tf.float32) outpu ...

  3. angularJS使用编写KindEditor,UEidtor,jQuery指令,双重绑定

    第一步 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8 ...

  4. 2.23 js处理日历控件(修改readonly属性)

    2.23 js处理日历控件(修改readonly属性) 前言    日历控件是web网站上经常会遇到的一个场景,有些输入框是可以直接输入日期的,有些不能,以我们经常抢票的12306网站为例,详细讲解如 ...

  5. reids的搭建

    ---恢复内容开始--- redis的安装 源码包安装 以reids3.0为例   先安装编译的软件 gcc gcc-c++ make  yum -y install gcc gcc-c++ make ...

  6. 20165228 预备作业3 Linux安装及学习

    (一)安装虚拟机 根据娄老师给的Ubuntu版本和安装教程,我曾遇到如下问题: Q1:首先遇到的问题是没有开启虚拟化 解决方法:在重启电脑时进入BIOS>Configuratio > In ...

  7. Linux more命令详解

    more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回( ...

  8. nginx安装,配置,并可以放静态文件教程

    简单介绍一下:nginx是一个高性能的HTTP和反向代理的服务器.能有处理最高5,0000的并发量,是新兴的一个代理服务器.中国大陆使用nginx网站用户有:百度.京东.新浪.网易.腾讯.淘宝等. 安 ...

  9. CentOS下安装VirtualBox

    VirtualBox在Ubtubu下的使用和Window下一样简单,下载安装包,安装运行即可.但在CentOS下需要折腾一下 ======1 下载相应的repo包:官网找到Centos7相应的repo ...

  10. (13)自定意义标签和过滤器 (templatetags)

    过滤器分内置和自定意义 PS:过滤器可以用在for循环和if判断后,但是标签不能使用在for循环和if判断后 内置过滤器: add(在模板中实现加减法) default(就是当传入的变量是False的 ...