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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

深度学习--第1篇(续): Ununtu16.04源码编译libtorch(GUDA版本)环境配置

發(fā)布時(shí)間:2024/1/18 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习--第1篇(续): Ununtu16.04源码编译libtorch(GUDA版本)环境配置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Ubuntu16.04+libtorch編譯

  • 1.參考博客
  • 2.準(zhǔn)備工作
  • 3.Libtorch編譯安裝
    • 3.1 下載Pytorch源碼
    • 3.2 下載libtorch庫(kù)
    • 3.3 CMakeLists編寫
  • 4.低版本兼容問(wèn)題(權(quán)重加載)

1.參考博客

Pytorch+libtorch編譯
libtorch源碼編譯

2.準(zhǔn)備工作

筆者采用Anaconda的虛擬環(huán)境下安裝Pytorch 1.5.0版本,具體版本如下:torchvision=0.6.0,python=3.6,CUDA=10.1, cudnn=7.6.5
上述的需要預(yù)先安裝完成

具體安裝步驟可參考上一篇博客:Pytorch安裝

3.Libtorch編譯安裝

3.1 下載Pytorch源碼

# 1.切換到conda的虛擬環(huán)境下 source activate wind# 2 由于pytorch的官網(wǎng)下載速度慢,可以參考筆者的另一篇,添加清華的鏡像源下載 [清華鏡像源安裝方法](https://blog.csdn.net/qq_37568167/article/details/105620960)# 3.安裝依賴庫(kù), 需要注意 cmake版本采用3.5.1,如果版本過(guò)高會(huì)存在編譯不通過(guò) conda install numpy ninja pyyaml mkl mkl-include setuptools cffi typing_extensions future six requests dataclasses# 4.安裝對(duì)CUDA的支持包, 對(duì)應(yīng)自己版本的cuda,筆者的時(shí)10.1 conda install magma-cuda101 # or [ magma-cuda102 | magma-cuda100 | magma-cuda92 ] # conda install -c pytorch magma-cuda101 # 5. 編譯Pytorch # 由于官網(wǎng)的下載較慢,筆者采用國(guó)內(nèi)gitee上進(jìn)行下載, 下載時(shí)間大約需要1.5個(gè)小時(shí) git clone https://gitee.com/wind_x/pytorch.git# 6. 下載完成后,進(jìn)行獲取其中的子模塊 cd pytorch git submodule sync git submodule update --init --recursive# 7. 選擇自己需要的Pytorch版本,需要與anaconda安裝的pytorch版本對(duì)應(yīng),筆者的是1.5.0版本 git tag -l git checkout v1.5.0# 8.編譯pytorch, 需要大約2個(gè)小時(shí);安裝扔需要2個(gè)小時(shí),共計(jì)4個(gè)小時(shí) export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"} mkdir build cd build cmake .. make -j4 sudo make install# 9.編譯成功后,會(huì)生成libtorch.so動(dòng)態(tài)鏈接庫(kù),存儲(chǔ)位置 動(dòng)態(tài)鏈接庫(kù): /usr/local/lib/libtorch.so 功能包: /usr/local/share/cmake/Torch

3.2 下載libtorch庫(kù)

注意: libtorch版本向上兼容,即高版本的pytorch和低版本的libtorch(例如筆者:Pytorch=1.5.0, libtorch=1.3.0), 一定要選擇下載c++11的預(yù)編譯版本,使用ABI編譯的版本

由于筆者采用的時(shí)pytorch=1.5.0, 且 cuda=10.1, 因此下載libtorch<=1.5.0的庫(kù),但是cuda需要對(duì)應(yīng)。 具體的libtorch下載地址:libtorch=1.3.0, cuda=10.1

https://download.pytorch.org/libtorch/cu101/libtorch-cxx11-abi-shared-with-deps-1.3.0.zip

其中加粗部分可以根據(jù)自己的需求進(jìn)行更換,主要是cuda版本號(hào)pytorch版本號(hào) (libtorch1.6.0版本之前的都可以)

# 解壓,解壓后得到的libtorch文件夾便是可以直接使用的 unzip libtorch-cxx11-abi-shared-with-deps-1.3.0.zip

3.3 CMakeLists編寫

# 使用libtorch時(shí),需要在CMakeLists.txt中添加 # 表示的時(shí)通過(guò)3.3節(jié)libtorch下載解壓后的文件夾位置 set(CMAKE_PREFIX_PATH "/home/lenovo/libtorch") add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)# 尋找torch包時(shí)可以放在其他的下面 find_package(Torch REQUIRED)

較為完整的CMakeLists.txt文件

cmake_minimum_required(VERSION 3.0.2) project(CNN_SLAM)set(CMAKE_BUILD_TYPE "Release") set(CMAKE_CXX_FLAGS "-std=c++11") set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")## Find catkin macros and libraries find_package(catkin REQUIRED COMPONENTScv_bridgeroscpprospysensor_msgsstd_msgs )## System dependencies are found with CMake's conventions find_package(OpenCV 3.0 REQUIRED) find_package(Eigen3 REQUIRED)catkin_package()include_directories(# include${catkin_INCLUDE_DIRS}${OpenCV_INCLUDE_DIRS}${EIGEN_INCLUDE_DIRS} )set(CMAKE_PREFIX_PATH "/home/lenovo/libtorch") add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1) find_package(Torch REQUIRED) include_directories(include/)## Declare a C++ library add_library(${PROJECT_NAME} SHAREDsrc/cnn_slam.cpp )target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${OpenCV_LIBS} ${EIGEN_LIBS} ${TORCH_LIBRARIES} )## Declare a C++ executable add_executable(CNN_SLAM_node CNN_SLAM_node.cpp)target_link_libraries(CNN_SLAM_node ${PROJECT_NAME})

4.低版本兼容問(wèn)題(權(quán)重加載)

# 對(duì)于v1.1.0 std::shared_ptr<torch::jit::script::Module> module = torch::jit::load("./model.pt");# >1.1.0 torch::jit::script::Module module = torch::jit::load("./model.pt");

總結(jié)

以上是生活随笔為你收集整理的深度学习--第1篇(续): Ununtu16.04源码编译libtorch(GUDA版本)环境配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。