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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > Caffe >内容正文

Caffe

Win10+vs2013+Caffe静态库配置自己的工程

發布時間:2024/9/21 Caffe 209 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win10+vs2013+Caffe静态库配置自己的工程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Win10+vs2013+Caffe靜態庫配置自己的工程


轉載請注明原出處:http://blog.csdn.net/ouyangfushu/article/details/79450501

作者:SyGoing

QQ: ?2446799425

寫在前面

通常我們訓練好caffe模型后需要根據自己的需求添加基于caffe前向過程的新算法、模型測試和調試,再到最后的工程部署,當然如果僅僅是測試,我們也可以用caffe官方給的classification.cpp工程(該工程在編譯工程中)進行改寫,但是對于部署不利。為了方便我們需要將caffe第三方庫作為依賴配置自己的項目。

配置過程

1、?????????編譯所需要的Caffe靜態庫

首先在vs2013中編譯caffe的GPU版本(包含CUDA8.0和CUDNN5.1),編譯過程不再贅述,個人認為比較好的編譯教程:http://blog.csdn.net/yj3254/article/details/52290401。

2、?????????以classification.cpp為例配置

重點在于三方庫的配置,過程繁瑣但是并不復雜,我們開始吧!

(1)新建文件夾caffe和caffe3rdpaty,caffe中的子文件夾為include和lib,其中include內是caffe的頭文件,lib中為libcaffe.lib。文件結構圖1-3

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

圖1

?

? ? ? ? ? ? ? ? ? ? ?

圖2

? ? ? ? ? ? ? ? ? ? ??

圖3

(2)vs2013中新建Win32控制臺程序(空項目),Releasex64配置如下,右鍵工程屬性:

1)?????????包含目錄:主要包含caffe庫及caffe所依賴的三方庫,boost、gflags、glog、opencv2.4.11、openblas、protobuf、cuda,這些都經過我自己重新整理,原來的文件嵌套太深,不忍直視,目錄此處用的相對目錄以便于工程拷貝到其他地方,避免再一次去配置絕對路徑。

再貼一下以供參考:具體路徑可以根據自己文件路徑而定,文件名可以看到三方依賴就這么幾個而已。

..\..\3rdpartynew\caffe\Release\include

..\..\3rdpartynew\caffe3rdparty\boost.1.59.0.0\include

..\..\3rdpartynew\caffe3rdparty\gflags.2.1.2.1\include

..\..\3rdpartynew\caffe3rdparty\glog.0.3.3.0\include

..\..\3rdpartynew\caffe3rdparty\protobuf-v120.2.6.1\include

..\..\3rdpartynew\caffe3rdparty\OpenBLAS.0.2.14.1\include

..\..\3rdpartynew\caffe3rdparty\OpenCV.2.4.11\include

C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include

2)庫目錄

?


..\..\3rdpartynew\caffe\Release\lib

..\..\3rdpartynew\caffe3rdparty\boost_chrono-vc120.1.59.0.0\address-model-64\lib

..\..\3rdpartynew\caffe3rdparty\boost_date_time-vc120.1.59.0.0\address-model-64\lib

..\..\3rdpartynew\caffe3rdparty\boost_filesystem-vc120.1.59.0.0\address-model-64\lib

..\..\3rdpartynew\caffe3rdparty\boost_system-vc120.1.59.0.0\address-model-64\lib

..\..\3rdpartynew\caffe3rdparty\boost_thread-vc120.1.59.0.0\address-model-64\lib

..\..\3rdpartynew\caffe3rdparty\gflags.2.1.2.1\x64\v120\dynamic\Lib

..\..\3rdpartynew\caffe3rdparty\glog.0.3.3.0\lib\x64\v120\Release\dynamic

..\..\3rdpartynew\caffe3rdparty\protobuf-v120.2.6.1\lib\x64\v120\Release

..\..\3rdpartynew\caffe3rdparty\OpenBLAS.0.2.14.1\lib\x64

..\..\3rdpartynew\caffe3rdparty\hdf5-v120-complete.1.8.15.2\lib\native\lib\x64

..\..\3rdpartynew\caffe3rdparty\OpenCV.2.4.11\lib\x64\v120\Release

C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64

?

3)預處理器定義

?

?

?

_CRT_SECURE_NO_WARNINGS

BOOST_ALL_NO_LIB

CAFFE_VERSION=1.0.0

CMAKE_WINDOWS_BUILD

GLOG_NO_ABBREVIATED_SEVERITIES

GOOGLE_GLOG_DLL_DECL=__declspec(dllimport)

GOOGLE_GLOG_DLL_DECL_FOR_UNITTESTS=__declspec(dllimport)

H5_BUILT_AS_DYNAMIC_LIB=1

USE_CAFFE

USE_CUDNN

USE_OPENCV

USE_LEVELDB

USE_LMDB

CMAKE_INTDIR="Release"

NDEBUG

_SCL_SECURE_NO_WARNINGS

_UNICODE

UNICODE

?

4)鏈接器定義

?

?

libcaffe.lib

libopenblas.dll.a

libprotobuf.lib

opencv_highgui2411.lib

opencv_core2411.lib

opencv_imgproc2411.lib

libglog.lib

gflags.lib

gflags_nothreads.lib

hdf5.lib

hdf5_hl.lib

cublas.lib

cublas_device.lib

cudart.lib

cudnn.lib

curand.lib

cuda.lib

?

5)DLL配置,運行會報丟失若干DLL,這個時候將編譯caffe時生成的DLL(Build\x64\Release)拷貝到你項目的x64\Release下即可。

6)還有一點需要注意:在調試的時候會出現,UnknownLayer Type,這可能是一個BUG,因為在編譯caffe的環境中調試classification.cpp不會出現這個問題,單獨配置卻出現,仔細看了下代碼,跟蹤調試發現在layer_factory.hpp中創建層時 registry為空,沒有成功創建對應層名的創建器,這個是caffe靜態庫中工廠模式創建層的一個問題(工廠模式編程大量使用虛類、虛基類和虛函數,靜態庫下無法鏈接,比較淺顯的解釋,求大家批評指正),動態庫不存在該問題。

?????

?

解決辦法:強制創建注冊層信息,新建一個Rgister.hpp,添加你所測試的網絡所用到層,包含對應層的.hpp頭文件,編寫強制創建。然后在main函數所在cpp文件中包含該頭文件。

?

一切準備就緒,根據自己的需求編寫相應的測試代碼(可先用官方的分類Classification.cpp作為例子小試牛刀),EnjoyYourself !!

?

參考博客:

1、http://blog.csdn.net/auto1993/article/details/70198435。

2、http://blog.csdn.net/wuzhiyang95_xiamen/article/details/52574668。

3、https://www.cnblogs.com/zy230530/p/7050282.html。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Win10+vs2013+Caffe静态库配置自己的工程的全部內容,希望文章能夠幫你解決所遇到的問題。

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