编译后没有taget文件夹_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('enableGpu',true,'cudaRoot','C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5','cudaMethod' ,'nvcc','enableCudnn','true','cudnnRoot','local/cudnn-rc4')第七步:找到cnn_cifar后,然后修改opts.gpus。更改選項,opts.train.gpus= [1]; 表示用GPU,[ ] 表示用CPU,千萬別[0]
總結
以上是生活随笔為你收集整理的编译后没有taget文件夹_matconvnet安装、编译、配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开课吧的python的证书_Python
- 下一篇: wow mysql dbc_DBC中悲观