Ubuntu_Anaconda_opencv4.5.3_opencv_contrib4.5.3_libtorch1.8.1安装配置之二-安装配置libtorch

本文主要是介绍Ubuntu_Anaconda_opencv4.5.3_opencv_contrib4.5.3_libtorch1.8.1安装配置之二-安装配置libtorch,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Ubuntu16.04 配置 LibTorch_c++编译libtorch工程

文章目录

  • 一. 下载LibTorch
  • 二、libtorch工程编译执行示例
    • 1.编写CMake构建配置
    • 2.编写 example-app.cpp 程序
    • 3.CMake编译
  • 参考链接:


一. 下载LibTorch

下载参考链接:
获取libtorch有两种方式:
a. 从官网下载编译好的文件:
最新编译的:https://pytorch.org/
以前编译的版本:https://blog.csdn.net/weixin_43742643/article/details/114156298
参考编译libtorch示例工程方式:
https://pytorch.org/cppdocs/installing.html
b. 自己源码编译

官方编译好的版本有两种版本,Pre-cxx11 ABI 和 cxx11 ABI两种,我选择的是:libtorch 1.8.1 (LTS) cxx11 ABI
链接:https://download.pytorch.org/libtorch/cu111/libtorch-cxx11-abi-shared-with-deps-1.8.1%2Bcu111.zip

下载libtorch后解压,解压后的文件夹包含以下文件:
其中在这里插入图片描述
lib/文件夹:包含必须链接的共享库;
include/文件夹:包含程序需要包含的头文件;
share/文件夹:包含必要的 CMake 配置,以启用上面的简单find_package(Torch)命令。

二、libtorch工程编译执行示例

1.编写CMake构建配置

CMakeLists.txt文件如下:
可以参考官网:https://pytorch.org/cppdocs/installing.html

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(example-app)find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")add_executable(example-app example-app.cpp)
target_link_libraries(example-app "${TORCH_LIBRARIES}")
set_property(TARGET example-app PROPERTY CXX_STANDARD 14)# The following code block is suggested to be used on Windows.
# According to https://github.com/pytorch/pytorch/issues/25457,
# the DLLs need to be copied to avoid memory errors.
if (MSVC)file(GLOB TORCH_DLLS "${TORCH_INSTALL_PREFIX}/lib/*.dll")add_custom_command(TARGET example-appPOST_BUILDCOMMAND ${CMAKE_COMMAND} -E copy_if_different${TORCH_DLLS}$<TARGET_FILE_DIR:example-app>)
endif (MSVC)

2.编写 example-app.cpp 程序

实现将简单地创建一个新的torch :: Tensor并将其打印出来,代码如下:

#include <torch/torch.h>
#include <iostream>int main() {torch::Tensor tensor = torch::rand({2, 3});std::cout << tensor << std::endl;
}

3.CMake编译

完成CMakeLists.txt文件和示例.cpp文件后,使用cmake编译。在项目文件夹下新建build文件夹,项目文件夹包含以下文件。
在这里插入图片描述打开终端,进入build文件夹下,执行编译命令:

#cmake -DCMAKE_PREFIX_PATH=/absolute/path/to/libtorch ..
$ cmake -DCMAKE_PREFIX_PATH=/XXXX/libtorch ..

完成后,执行命令:
make
生成可执行文件example-app,build文件夹生成的文件如下:
在这里插入图片描述执行可执行文件:
./example-app
生成结果如下:
在这里插入图片描述好的,完整步骤就完成了。

请注意以下问题:
在CMakeLists.txt文件中,选择合适的cmake最低版本:

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)

如果改成

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)

在执行编译命令:

#cmake -DCMAKE_PREFIX_PATH=/absolute/path/to/libtorch ..
$ cmake -DCMAKE_PREFIX_PATH=/XXXX/libtorch ..

有一些CMake Warning ,但可以编译成功。
当执行命令:
make
时,出现”fatal error: torch/torch.h:没有那个文件或目录“的错误提示:
在这里插入图片描述
在这里插入图片描述因此注意选择合适的cmake最低版本

可以参考以下链接,讲解的比较详细。

参考链接:

https://blog.csdn.net/john_bh/article/details/108221748
https://oldpan.me/archives/pytorch-c-libtorch-inference
https://blog.csdn.net/github_30605157/article/details/79839177

这篇关于Ubuntu_Anaconda_opencv4.5.3_opencv_contrib4.5.3_libtorch1.8.1安装配置之二-安装配置libtorch的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/471036

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4