推荐直接使用 Docker 镜像:
# cpu docker pull clearhanhui/ubuntu-libtorch-cpu:latest docker run -ti clearhanhui/ubuntu-libtorch-cpu /bin/bash # cuda docker pull clearhanhui/ubuntu-libtorch-cuda:latest docker run -ti --gpus all clearhanhui/ubuntu-libtorch-cuda /bin/bash注意1:由于 cuda 镜像使用的较新的版本,
docker run
的时候可以增加NVIDIA_DISABLE_REQUIRE=1
来禁止版本检查(参考)。
注意2:仅学习推荐使用 cpu 版,依赖更少,文件更小。
- wget
- unzip
- python3
- pip3
- git
- cmake
- gcc (or clang)
- make (or ninja)
- build-essential
软件版本尽量用新的。
根据 (issue)[#1] 的提醒,可能某些 LibTorch 版本使用了C++17语法,编译的时候加上 flag -std=c++17
。
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
推荐使用 miniconda 管理 python 环境。
wget https://download.pytorch.org/libtorch/nightly/cpu/libtorch-shared-with-deps-latest.zip
unzip libtorch-shared-with-deps-latest.zip
注意1:本教程适用 Linux 系统,Windows 等我有时间,MacOS 等我有钱。
注意2:以上均是 CPU 版本,有 GPU 并配置了 CUDA 的土豪移步官网根据版本下载。
四种方式(影响范围由大到小):
- 将解压目录
/path/to/libtorch
(注意替换)添加到系统PATH
变量中:
# 临时使用
export PATH=/path/to/libtorch:$PATH
# 永久使用
echo "export PATH=/path/to/libtorch:\$PATH" >> ~/.bashrc && . ~/.bashrc
- 设置环境变量
Torch_ROOT
,方法参考上面。 - 在
CMakeLists.txt
中通过set
函数临时设置。 - 执行
cmake
命令的时候,设置参数-DCMAKE_PREFIX_PATH=/path/to/libtorch
。
推荐使用第2种。
下载项目
git clone https://github.com/clearhanhui/LearnLibTorch.git
cd LearnLibTorch/chap1/
使用 make 构建
mkdir build-make && cd build-make
cmake ..
make
./HelloWorld
使用 ninja 构建
mkdir build-ninja && cd build-ninja
cmake .. -G Ninja
ninja -v
./HelloWorld
输出:
0 0 0
0 0 0
[ CPUFloatType{2,3} ]
Welcome to LibTorch!