訂閱專欄
最近想研究一下如何部署pytorch模型,看到别人說LibTorch不錯,是最近流行的C++部署架構,我打算試試。
首先,去pytorch官網上下載下傳,如下圖,上面的連接配接是release版本,下面是Debug版本,支援C++,但是Window不支援Java。點選連接配接下載下傳下來。我選擇的是release版本的。
将解壓後的檔案複制到C槽,如下圖:
設定環境變量:
右鍵我的電腦->進階系統設定->進階中的環境變量->點選系統變量中的Path->添加dll路徑:
.
然後建立C++工程檔案
建立完成後預設是x86的,需要改為X64的,因為libtorch是x64的,不支援32位的。我下載下傳是release版本的,是以還要改為release模式。
然後右鍵lib_torch項目,選擇屬性,配置libtorch環境。
選擇C\C++ ——》正常,将SDL檢查改為否。添加附加包含目錄。
改完後的效果如下圖:
将 C/C++ => 語言 => 符合模式,改為否。
設定連接配接庫,選擇連接配接器——》正常,修改附加庫目錄
設定連接配接庫,選擇連接配接器——》輸入,修改附加依賴項
在附件依賴項中增加:
c10.lib
mkldnn.lib
libprotobuf.lib
torch.lib
torch_cpu.lib
在 配置屬性à調試à環境 裡添加libtorch動态庫的路徑
PATH=C:\libtorch\lib;%PATH%
到這裡就配置完了,寫入測試代碼試一下。
#include <torch/torch.h>
#include "torch/script.h"
#include <iostream>
int main()
{
torch::Tensor output = torch::randn({ 5,2 });
std::cout << output;
return 0;
}
出現下面的結果說明配置成功了。