极智开发 | ubuntu 安装 libtorch

Posted 极智视界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了极智开发 | ubuntu 安装 libtorch相关的知识,希望对你有一定的参考价值。

欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

  大家好,我是极智视界,本文介绍一下 ubuntu 安装 libtorch

  libtorch 是 pytorch 的 C++ 版本,支持 CPU 端和 GPU 端的模型部署。相较于用 tensorrt 部署 pytorch 模型,用 libtorch的优势在于:pytorch 和 libtorch 同属一个生态,API 语句比较接近,并且不会出现某网络层不支持的问题。这里咱们来看一下 libtorch 在 ubuntu 上是怎么安装的。

  下面开始。

  首先需要到 pytorch 的官网去下载 libtorch 包,附官网地址:https://pytorch.org/

  这里咱们选择 GPU 版本的 libtorch,获取到 url 后,回到 ubuntu 中使用如下命令进行下载:

# 下载包
wget https://download.pytorch.org/libtorch/lts/1.8/cu111/libtorch-cxx11-abi-shared-with-deps-1.8.2%2Bcu111.zip

# 解压包
unzip libtorch-cxx11-abi-shared-with-deps-1.8.2%2Bcu111.zip

# 会得到一个 libtorch 包文件夹
|- libtorch
|  - include
|    - ...
|  - lib
|    - ...
|  - bin
|    - ...
|  - share
|    - ...
|  - build-hash
|  - build_version

  接着来编写一个简单工程进行调用测试。

mkdir demo

# 编写 CMakeList.txt
vim CMakeList.txt

  在 CMakeList.txt 内键入以下内容:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
find_package(PythonInterp REQUIRED)

project(demo)

set(Torch_DIR ~/libtorch/share/cmake/Torch)  #你解压的libtorch的绝对路径
find_package(Torch REQUIRED)

set(CMAKE_CXX_FLAGS "$CAMKE_CXX_FLAGS $TORCH_CXX_FLAGS")
set(CUDA_INCLUDE_DIRS "/usr/local/cuda/include")

#main.cpp exe
add_executable(demo demo.cpp)

#link libtorch .a .so
target_link_libraries(demo "$TORCH_LIBRARIES")
target_include_directories(demo PRIVATE CUDA_INCLUDE_DIRS)

set_property(TARGET demo PROPERTY CXX_STANDARD 14)

  接着编写 demo.cpp,就简单打印一个 torch:ones(3) 3维都是1的张量:

// demo.cpp
#include<torch/torch.h>
#include<iostream>
//using namespace std;

int main()
    torch::Tensor tensor = torch::ones(3);
    std::cout << tensor << std::endl;

  开始编译 & 执行:

mkdir build
cd build
cmake ..
make -j8

# 生成 demo 可执行程序
# 执行 demo
./demo

  正常执行输出:


  好了,以上分享了 ubuntu 安装 libtorch 的方法。希望我的分享能对你的学习有一点帮助。


以上是关于极智开发 | ubuntu 安装 libtorch的主要内容,如果未能解决你的问题,请参考以下文章

极智AI | libtorch 调用模型推理方法

极智AI | libtorch 调用模型推理方法

极智开发 | ubuntu 安装 gitlab

极智开发 | ubuntu 安装 nginx

极智开发 | ubuntu 安装和配置 git

极智开发 | ubuntu 安装有线网卡驱动