c++ 编译添加dll_matconvnet安装、编译、配置
一、安装(可见大神windows下编译Matconvnet的方法(CPU和GPU))
1.(本人)安装matlab2015b、Visual Studio 2015
2.官网Home - MatConvNet下载matconvnet工具包,我的名字是matconvnet-1.0-beta25,然后解压文件到 matconvnet-1.0-beta25中, 然后按照官网安装需要的gcc,CUDA等
3.CUDA + cudnn(这两个也可以没有,CPU only)
4.编译安装
编译前,Matlab应该已经绑定C++编译器了。否则,会出错。Windows下安装Visual Studio即可,Linux下有自带的GCC
先进行CPU版本的编译。在Matlab中打开Matconvnet工具包,使得当前目录窗口显示Matconvnet文件夹里面的子目录。
在Matlab中输入mex -setup,绑定C++编译器
输入mex -setup C++
打开Matlab,将工作路径切换到…/matconvnet-1.0-beta25
在Matlab中执行命令: addpath matlab。添加搜索路径。
在Matlab中执行命令:vl_compilenn。编译工具箱。
在Matlab中执行命令:vl_setupnn。设置工具箱。
至此,工具箱已经安装完毕。
测试
在matlab中执行命令:vl_testnn。
由此完成CPU 下matconvnet的编译。
编译完之后会多了一个mex文件夹,在matlab文件夹下面。
这里的mex文件夹下就是以后要调用的程序,有
编译完之后应该有除了cudnn64_4.dll外的mexw64文件,可以看出,这些文件主要是vl_conv,vl_imreadjpeg等。这些文件是由cuda C写的,并不是由MATLAB语言写的,格式是 xx.cu。然后通过mex将这些.cu文件编译成可以由MATLAB调用的函数,也就是说mexw64就相当于MATLAB的函数文件xx.m一样了。你可以看看MATLAB下面的vl_nnconv.m,可以看到文件里面全部都是注释,这样的话,调用时咋运行的啊。哈哈,原来要先编译,编译好了多了mex文件,调用时是调用mexw64文件啊。这里的cudnn64_4.dll是后面用gpu编译时用到的。
matconvnet配置GPU
第一步:需要安装cuda、VS2015,cuda默认路径,注意cuda版本和GPU要匹配
cuda下载地址:https://developer.nvidia.com/cuda-downloads
第二步:下载cudnn,在matconvnet文件夹下建一个local文件夹,然后把cudnn放进去 (我改了文件名称为cudnn-rc4)
第三步: 建一个local文件夹,然后把cudnn-rc4放进去,再复制到matconvnet目录下。
第四步:把bin下的cudnn64_4.dll再复制到mex的文件夹下。这一点很重要,否则vl_compilenn即使编译成功,运行时却会出现Invalid 的vl_nnconv.mexw64,可是你一看明明有这个文件啊,并且cpu编译时这个文件也是可以用的,为啥现在就不能了,就是你没有做第二步。
第五步:先看看vl_compilenn写了啥,打开vl_compilenn.m,运行,等待编译结束
在vl_compilenn中已经对opts的enableGpu等属性进行了初始化。
这是稍微修改后的,这里改不改我这样的都无所谓的,这是因为,你看看下面有vl_argparse(opts,varargin),这个就是把外面的传入的参数再对opts进行赋值。
第六步:复制以下code到matlab命令窗,更改相应路径和文件夹名称,运行,等待编译结束。
vl_compilenn
第七步:找到cnn_cifar后,然后修改opts.gpus。更改选项,opts.train.gpus= [1]; 表示用GPU,[ ] 表示用CPU,千万别[0]
c++ 编译添加dll_matconvnet安装、编译、配置相关推荐
- AndroidStudio_Android使用Gradle来管理依赖jar包_以及编译_Gradle的安装_配置_更新依赖方法---Android原生开发工作笔记221
之前基础部分已经说过了,但是实际用起来,还会手生一些 重要的写在前面吧,就可以实现更新依赖 在Android studio 中 Terminal 中 gradlew build --refresh-d ...
- Qt——用在ARM板上的Mplayer(1.3.0,1.0rc4)安装编译步骤!还有,Mplayer背景抖动闪烁问题解答,终于来了!
注意:若转载,请贴上链接"https://blog.csdn.net/qq_41042595/article/details/112308184",如若发现抄袭或未标明来源现象,都 ...
- CentOS 安装 SS5 配置启动
使用开源的SS5( Socks Server 5 ) 官网:http://ss5.sourceforge.net/ (点击左侧的Software在右侧的Server处进入下载地址) CentOs版本: ...
- php编译安装与配置
[html] view plain copy php编译安装与配置 =========================================== 官网:http://php.net/ 官网下 ...
- doxygen生成html文件,doxygen 的安装、配置、编译及使用(从源代码到文档)
doxygen 的安装.配置.编译及使用(从源代码到文档) 1. 什么是 doxygen 下面是 doxygen 主页上的一段说明文字 Source code documentation genera ...
- Linux 下编译、安装、配置 QT
打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来. 软件环境 Lin ...
- nginx php 源码安装,Nginx和php安装及配置一之编译安装nginx-1.8.0
本篇文章给大家分享的内容是关于Nginx和php安装及配置一之编译安装nginx-1.8.0 ,有着一定的参考价值,有需要的朋友可以参考一下 一.编译安装nginx-1.8.0 1.创建放置安装包的目 ...
- c++ 编译添加dll_使用MinGW编译OpenCV4源码与配置使用演示
点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 QT在Windows上安装好之后,常规会两种编译器选择分别是: -VS2015/2017/2019....-m ...
- Ubuntu18.04安装OpenCV4.3.0和环境配置(支持编译CUDA并安装配置python-opencv)
Ubuntu18.04安装OpenCV4.3.0和环境配置 下载源文件 安装依赖 编译安装 环境配置 动态库配置 配置OpenCV的`PKG-CONFIG`环境 Python-OpenCV环境[如果安 ...
最新文章
- OpenAI机械手单手轻松解魔方,背靠强化学习+新技术ADR
- async python两个_【Python】python中实现多进程与多线程
- 简单理解session
- Qt / QPainter、QPen、QBrush 如何理解
- VirtualBox中的Linux读取Windows共享目录
- 图像的全局特征--HOG特征、DPM特征
- flock lock ex php,php – flock有可能用LOCK_EX返回false吗?
- 汉游天下公司的一些感悟
- 防止U盘中病毒的小技巧
- Ubuntu18.04 下搭建Hyperledger Fabric 1.0.0环境
- java最终类不能派生子类_最终类不能派生子类,最终方法不能被重写 (2.0分)_学小易找答案...
- Unity发布Android时需要的Android SDK/NDK的下载
- 3dmax软件怎么贴图
- AD快捷键无法使用的解决方法
- 阿里云短信接口配置教程
- 在Excel表中进行度分秒单位转换
- 计算机算法可以用自然语言来描述吗,算法可以用自然语言描述吗
- 按分数段统计学生人数python_用Excel统计各分数段学生数
- 阅读 | 《娱乐至死》笔记 | Part1
- 深入讲解Android!最全的BAT大厂面试题整理,威力加强版