1. 程式人生 > >Matconvnet在windows8下編譯安裝過程

Matconvnet在windows8下編譯安裝過程

Matconvnet在windows8下編譯過程

Matconvnet現在已經發行到1.0beta18版本,而之前一些訓練好的網路使用的是1.0beta10或者更低,這使得已經訓練好的網路由於引數和屬性名稱不同而無法在不同版本間共用,因此我編譯了beta18和beta10兩個版本的matconvnet。這裡記錄matconvnet工具箱在matlab的安裝過程:(安裝官方網址:http://www.vlfeat.org/matconvnet/install/)

1、 下載工具箱,解壓,將matlab轉到matconvnet目錄下

2、 編譯工具箱:

2.1 首先編譯cpu版本

>cd <MatConvNet>

>addpath matlab

>vl_compilenn

2.2 當編譯不通過時,為了獲得更多資訊可以用一下語句

>vl_compilenn('verbose',1)

Increasethe verbosity level to 2 to get even more information.

2.3 編譯gpu版本

當安裝的matlab版本和cuda版本對應的時候:(如下)

用matlab直接編譯:

>vl_compilenn('enableGpu',true)

如果安裝有多個版本的cuda,n那麼需要指定cudaroot

>vl_compilenn('enableGpu'

,true,'cudaRoot', '/Developer/NVIDIA/CUDA-7.0')

如果安裝的cuda版本,那麼需要用nvcc編譯

> vl_compilenn('enableGpu', true, ... 'cudaRoot', '/Developer/NVIDIA/CUDA-7.0', ... 'cudaMethod', 'nvcc')

這裡cudaroot需要改成自己的cudaroot地址。

這裡編譯時可能會遇到

Nvcc fatal error:couldn’t find c1.exe(還是cl.exe)來著;c1.exe是vs的c編譯器,所以可以在整個盤中找到其位置,addpath即可。另外c1.exe有4個版本,可能對應32位和64位的,都試驗一下能不能編譯。

3、 測試使用

>run <MatConvNet>/matlab/vl_setupnn

>vl_testnn

>vl_testnn('gpu',true)%測試gpu