日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

在windows上Matlab 编译MatConvNet

發布時間:2023/12/19 windows 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在windows上Matlab 编译MatConvNet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

windows 10 64 bits

matlab 2015b/2016a

MatConvNet?1.0-beta20?或者從github 下載GIT repository

CUDA GPU Computing ToolKit 7.5

cudnn-rc4/cudnn-rc5

都按照官網http://www.vlfeat.org/matconvnet/

配置好了之后,

編譯命令

vl_compilenn('enableGpu', true, ...'cudaRoot','C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5',...'cudaMethod', 'nvcc', ...'enableCudnn', true, ...'cudnnRoot', 'local\cudnn-rc4',...'verbose','2',...'debug','1');

  

主要遇到兩個問題

1.找不到’cudnn.h’,這個是cudnnRoot路徑配置問題,官網的意思是在MatConvNet目錄下新建local文件夾,之后把cudnn放到local文件夾下,打開local\cudnn-rc4應該看到三個文件夾include,bin,lib,編譯時要在MatConvNet目錄下進行,先輸入addpath matlab加入matlab文件路徑。提示,直接nvidia官網下載的cudnn解壓后應該是多出一級中間目錄cuda,比如cudnn\cuda\,在編譯時可以把cudnn路徑寫成"local\cudnn-rc4\cuda",或者手動把中間目錄縮減

2.編譯vl_compilenn出錯

原代碼

if opts.enableCudnnflags.cc{end+1} = '-DENABLE_CUDNN' ;flags.cc{end+1} = ['-I' opts.cudnnIncludeDir ] ; end

 文件路徑出錯,在報錯信息里-I后跟cudnnIcludeDir路徑沒有加雙引號 

修改后,一開始很盲目,看了mathworks上的回答采取認真看出錯信息,仔細點應該能發現問題

if opts.enableCudnnflags.cc{end+1} = '-DENABLE_CUDNN' ;flags.cc{end+1} = ['-I"' opts.cudnnIncludeDir '"'] ;%http://cn.mathworks.com/matlabcentral/answers/264961-having-problem-in-matconvnet-to-compiling-the-cudnn-support "opts.cudnnIncludeDir" end

github上最新版本已經修復這個問題

3.nvcc 編譯MatConvNet\matlab\src\bits\impl\nnbilinearsampler_cudnn.cu報錯 在250行左右?undefined "backward" identifier

因為在

template<typename type, bool backwardData, bool backwardGrid> static vl::Error forward_backward

  函數中缺少backward的定義,仿照前面的

template<typename type> __global__ void grid_backward_kernel

  函數中的方式在函數開始部分添加

bool backward = backwardData;//added here for cudnn compile with undefined 'backward' identifier

 發現backward或者backwardData只是一個bool 型的值作為一個選項 

?

4.編譯MatConvNet\matlab\src\bits\impl\nnbilinearsampler_cudnn.cu出錯,第24行

#warning "bilinearsampler_cudnn.cu will be disabled as it requires CUDNN v5 or higher."

 報,無效的預編譯指令“warning” 

原來,gcc,C# 中有#warning指令,MSVC C\C++中沒有#warning 指令,可以用#pragma message "warning ..."代替

?

轉載于:https://www.cnblogs.com/logicfool/p/5614912.html

總結

以上是生活随笔為你收集整理的在windows上Matlab 编译MatConvNet的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。