libtorch在windows下場見錯誤整理總結


1、bash窗口可能提示 not module utils 或者not module xxxx模塊;這是因為沒有將源碼根目錄添加進環境變量,

linux下,執行以下命令就行

export PYTHONPATH="$PWD"

win下,我建議直接用pycharm打開yolov5.4工程,在ide中去執行export.py就行,

2、錯誤: “std”: 不明確的符號

解決辦法1:項目->屬性->c/c++->語言->符合模式->選擇否

(看清楚vs項目屬性窗口對應的到底是Debug還是Release,血的教訓!)

解決辦法2:還有有個老哥給出的方法是,在std報錯的地方改為:"::std",不推薦!

3、建議常被debug版本libtorch

libtorch中,執行到加載模型那一行代碼,跳進libtorch庫中的Assert,提示錯誤:AT_ASSERT(isTuple(), "Expected Tuple but got ", tagKind());(咱們是libtorch debug版本,還能跳到這一行,要是release,你都不知道錯在哪里,所以常備debug版本,很有必要)

可能是你轉模型的yolov5版本不是5.4,而是5.3、5.3.1、5.3、5.1;還有可能是你export.py腳本中沒有按照上面設置。

參考:https://blog.csdn.net/weixin_42398658/article/details/111954760

4、問題:編譯成功后,運行代碼,發現torch::cuda::is_available()返回false

解決:a、配置環境的時候,請將庫lib文件夾下所有“.lib”文件名粘貼到項目屬性(Release)-鏈接器 - 輸入 - 附加依賴項

b項目屬性(Release)-鏈接器 - 命令行 - 其他選項貼入下面命令

/INCLUDE:?warp_size@cuda@at@@YAHXZ

完美解決!

5、導出模型,命令行有警告

最好是查詢下,盡管不影響部署。

 

以后有問題也會更新!

 

 

reference:

[1] libtorch相關報錯總結(非常nice!):https://blog.csdn.net/qq_18305555/article/details/114013236

[2] 我的博客:LibTorch實戰六:C++版本YOLOV5.4的部署<一> 

https://www.cnblogs.com/winslam/p/14614632.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM