Build Libtorch from Source Code for x86
Posted 穿越临界点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Build Libtorch from Source Code for x86相关的知识,希望对你有一定的参考价值。
在学习资料满天飞的大环境下,知识变得非常零散,体系化的知识并不多,这就导致很多人每天都努力学习到感动自己,最终却收效甚微,甚至放弃学习。我的使命就是过滤掉大量的无效信息,将知识体系化,以短平快的方式直达问题本质,把大家从大海捞针的痛苦中解脱出来。
1 下载源码
git clone --recursive https://github.com/pytorch/pytorch.git
如何想切换需要编译的源码版本,可以使用下述指令修改,否则默认是最新版本。
git tag #查看支持的版本号
git checkout <chosen tag>
git submodule sync
git submodule update --init --recursive
2 编译
安装依赖库。建议使用conda安装,如果没有conda环境也可以使用pip install。
conda install pyyaml
编译:
export USE_CUDA=False
export BUILD_TEST=False
export USE_NINJA=OFF
cd pytorch
mkdir build_x86 && cd build_x86
python3 ../tools/build_libtorch.py
编译成功后输出结果如下:
lInstall the project...
-- Install configuration: "Release"
-- Set runtime path of "<your_path>/pytorch/torch/bin/protoc-3.13.0.0" to "$ORIGIN/../lib"
-- Set runtime path of "<your_path>/pytorch/torch/lib/libc10.so" to "$ORIGIN"
-- Set runtime path of "<your_path>/pytorch/torch/lib/libtorch_cpu.so" to "$ORIGIN:/usr/lib/x86_64-linux-gnu/openmpi/lib"
-- Set runtime path of "<your_path>/pytorch/torch/lib/libtorch.so" to "$ORIGIN"
-- Set runtime path of "<your_path>/pytorch/torch/lib/libtorch_global_deps.so" to "$ORIGIN:/usr/lib/x86_64-linux-gnu/openmpi/lib:<your_path>/miniconda3/lib"
其中,我们最关注的是下面三个共享库:libc10.so、libtorch.so、libtorch_cpu.so。
3 验证
3.1 准备库和头文件
3.2 源码
/* main.cpp */
#include <iostream>
#include "torch/torch.h"
using namespace std;
int main()
torch::Tensor val_1 = torch::rand(2,3);
torch::Tensor val_2 = torch::full_like(val_1,3);
cout<<val_1<<endl<<endl;
cout<<val_2<<endl;
return 0;
3.3 CMakeLists.txt
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(main)
SET(CMAKE_BUILD_TYPE "Release")
include_directories(<test_root>libtorch/include)
include_directories(<test_root>libtorch/include/torch/csrc/api/include)
link_directories("<test_root>/libtorch")
add_executable(main main.cpp)
set(TORCH_LIBRARIES c10 torch torch_cpu)
target_link_libraries(main "$TORCH_LIBRARIES")
set_property(TARGET main PROPERTY CXX_STANDARD 14)
3.4 验证结果
看到类似结果,说明验证成功。
0.5017 0.0609 0.4708
0.3303 0.8318 0.5621
[ CPUFloatType2,3 ]
3 3 3
3 3 3
[ CPUFloatType2,3 ]
恭喜你又坚持看完了一篇博客,又进步了一点点!如果感觉还不错就点个赞再走吧,你的点赞和关注将是我持续输出的哒哒哒动力~~
以上是关于Build Libtorch from Source Code for x86的主要内容,如果未能解决你的问题,请参考以下文章
Build Libtorch from Source Code for x86
Build Libtorch from Source Code for x86