前言:
我的环境:
Ubuntu 16.04 / GCC 5.4.0 ;
PyTorch 1.1 Linux CPU ;
Anaconda3 5.3.1 ;
Qt5 5.12.6;
安装步骤(虽然说安装,其实就是下载LibTorch包而已):
1. 下载LibTorch
参考:利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测 - Oldpan的个人博客
里面提到:
截自OLDPAN的博文
为了进行快速尝试,我决定先直接从官网下编译好的文件:
下载地址OLDPAN的博文中给了PyTorch网页链接,如下:
https://download.pytorch.org/libtorch/nightly/cpu/libtorch-shared-with-deps-latest.zip
# 浏览器输入上述网址即可下载LibTorch
原英文网页地址: Installing C++ Distributions of PyTorch
对应的中文网页地址:使用 PyTorch C++ 前端
原英文网页
对应的中文网页
在本地主机下载好后,通过samba文件服务共享给虚拟机,将压缩包移动到 /home/book 下,即‘家目录’下。
2. 解压缩
在命令行输入:
unzip libtorch-shared-with-deps-latest.zip
解压后的libtorch文件夹
解压后各目录的功能:
PS: 如果你用的windows系统,还需要注意以下提示:
对于windows用户
源码编译PyTorch可以参考:利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测 - Oldpan的个人博客
3. 测试libtorch包
主要参考:https://pytorch.apachecn.org/docs/1.0/cpp_frontend.html?h=LibTorch (参考其中”编写基本应用程序“)
3.1 在Qt中新建纯C++项目
与参考的链接中不同,我们使用Qt作为开发纯C++项目的IDE
新建纯C++项目
选择CMake
3.2 修改 main.cpp
可直接按例子中的 dcgan.cpp 中的代码进行修改
例子中的 dcgan.cpp
我的 main.cpp
3.3 修改 CMakeLists.txt
参考:街道口扛把子:尝试使用CMake构建Qt+Pytorch简单应用
这一步最关键的是 在 CMakeLists.txt 里设置你的 libtorch 的路径,我的修改后的CMakeLists.txt:
cmake_minimum_required(VERSION 3.5)
project(dcgan LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(Torch_DIR /home/book/libtorch/share/cmake/Torch) # 我的 libtorch 的路径
find_package(Torch REQUIRED)
add_executable(dcgan main.cpp)
target_link_libraries(dcgan "${TORCH_LIBRARIES}")
set_property(TARGET dcgan PROPERTY CXX_STANDARD 11)
3.4 测试
按下 绿箭头,编译运行,输出:
输出
关于这个输出结果,参考的例子中是这么解释的:
4. 好文总结
这一部分总结在安装、测试LibTorch期间所发现的一些优质好文:
(1)利用Pytorch的C++前端(libtorch)读取预训练权重并进行预测 - Oldpan的个人博客
(2)Pytorch的C++端(libtorch)在Windows中的使用 - Oldpan的个人博客
(3)街道口扛把子:尝试使用CMake构建Qt+Pytorch简单应用
(5)Installing C++ Distributions of PyTorch
(7)グルーミーゴーストのブログ - GloomyGhost Blog