文章目錄
- 1 個人環境
- 2 準備工作
- 3 Visual Studio 2019 配置 Libtorch 和 OpenCV
- 4 測試
-
- 4.1 Libtorch 測試
- 4.2 OpenCV 測試
1 個人環境
- 作業系統:Windows;
- Visual Studio 2019;
- Cuda版本:10.1(查詢指令:
);
nvcc -V
- Libtorch:Release版本(官網下載下傳);
- OpenCV(官網下載下傳);
2 準備工作
- Visual Studio 2019 的安裝,請自行檢視相關教程;
- CUDA 和 cuDNN的安裝,請自行檢視相關教程;
3 Visual Studio 2019 配置 Libtorch 和 OpenCV
下載下傳并解壓 Libtorch 和 OpenCV,然後将 Libtorch 和 OpenCV 的頭檔案目錄放在包含目錄中,庫檔案放在庫目錄下。具體操作為:建立項目,在項目的
屬性管理器
中選擇
Release | x64
,右鍵添加新的屬性表(本文命名為
LibtorchRelease
)。輕按兩下建立屬性表,開始設定。操作步驟順序為:
通用屬性 -> VC++目錄 -> 包含目錄、庫目錄
,在包含目錄下添加頭檔案,庫目錄下添加庫檔案,具體為
包含目錄:
path: xxx\libtorch\include\torch\csrc\api\include
path: xxx\libtorch\include
path: xxx\opencv\build\include
path: xxx\opencv\build\include\opencv2
庫目錄:
path: xxx\libtorch\lib
path: xxx\opencv\build\x64\vc15\lib
而後,對連結器選項進行設定:通過
連結器 -> 輸入 -> 附加依賴項
添加以下内容
c10.lib
c10_cuda.lib
torch_cpu.lib
torch_cuda.lib
opencv_world454.lib
最後,在
連結器 -> 指令行 -> 其他選項
中添加
- /INCLUDE:[email protected]@at@@YAHXZ
以上便是屬性表中的全部配置,完成後,還需對項目進行配置。轉至解決方案資料總管,項目右鍵點選屬性,在
調試 -> 環境
中添加 libtorch 動态庫的路徑:
- PATH=xxx\libtorch\lib;%PATH%
至此,相關配置全部完成。
4 測試
4.1 Libtorch 測試
檢查面闆,務必确認為
Release + x64
。建立源檔案
main.cpp
進行測試。
#include <torch/torch.h>
#include <torch/script.h>
using namespace std;
using namespace torch;
int main()
{
torch::DeviceType device_type = at::kCPU;
if (torch::cuda::is_available()) {
cout << "cuda availabel!" << endl;
torch::DeviceType device_type = at::kCUDA;
}
else
{
cout << "cpu" << endl;
}
}
4.2 OpenCV 測試
建立源檔案
camera.cpp
進行測試。(測試前先選中前文
main.cpp
右鍵,
屬性 -> 配置屬性 -> 正常 -> 從生成中排除 -> 是
)
// 打開攝像頭樣例
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>
using namespace cv;
int main()
{
VideoCapture cap(0);
Mat frame;
while (1)
{
cap >> frame;
imshow("調用攝像頭", frame);
waitKey(30);
}
return 0;
}
【參考】
- 在Visual Studio中配置基于Libtorch的項目;
- Libtorch的GPU使用問題記錄;
- Visual Sudio 2019 + libtorch(Pytorch C++庫) 環境配置;
- opencv4.5.4 + VS2022 的開發環境搭建;