Clion的libtorch(CPU版)导入C++包

安装libtoch记录,深度学习部署,Clion使用


前言

开门见山,本次的主题是如何使用Clion和Cmake导入Libtorch库,以此来进行Pytorch模型在C++上的部署,有利于嵌入式深度学习开发,在游戏,硬件上可以使用Libtorch库去运行深度学习模型。


一、环境介绍

  1. Windows10系统
  2. libtorch的CPU版本
  3. Clion软件
  4. Microsoft Visual Studio 2022 Community

二、前期准备工作

1.结果展示

CLion随便安装,我是用了专业版的
首先声明安装好后是什么样子的

代码如下:

#include <iostream>
#include <torch/torch.h>
using namespace std;
int main(){
    cout << "Hello World!" << endl;
    at::Tensor x = at::rand({1, 2, 3, 4, 5});
    print(x);
    return 0;
}

输出为

Hello World!
 0.0098  0.4784
[ CPUFloatType{1,2} ]
进程已结束,退出代码为 0

2.下载 Visual Studio 2022

先下载 Visual Studio Installer
安装好后
Visual Studio Installer
里面的东西可以随便选,小孩才做选择,大人全都要
其实可以随便选

搞嵌入式的自己去这
linux嵌入式
其实上面这些都不重要
选这几个就行
选择

上面的这些操作只是为了在clion上有这个东西
clion显示studio

3.下载libtorch

首先呢,我python方面的pytorch已经装好了,而且是GPU版的,但是考虑到GPU的libtorch可能会很复杂,这次安装的是CPU版的libtorch,先看自己的NVIDIA版本,CMD起手会把。

查看自个NVIDIA版本的命令

nvidia-smi

nvidia-smi
然后呢,我觉得12.6应该也能装12.4的,直接去pytorch官网选windows版的。

md官网有点慢,构思
选择下载的东西
然后解压到随便一个地方
解压
这两玩意加环境变量里,我反正加了,起没起作用我也不知道,反正md第二天这玩意就能用,估计要重启一次电脑。
两玩意
环境变量设置
环境变量

4.写CMakeLists.txt

首先是新建一个项目
新建项目

然后CLion去设置一下工具链,之前给看到过
设置工具链
然后就是CMakeLists.txt,里面就一个文件路径要改和项目名称要改的吧

cmake_minimum_required(VERSION 3.29)
project(Study)

# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 17)

# 设置 libtorch 路径
set(CMAKE_PREFIX_PATH E:/ProgramData/Clion_library/libtorch)
find_package(Torch REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
message("c${CMAKE_CXX_FLAGS}")
message("t${TORCH_CXX_FLAGS}")


# 创建可执行文件
add_executable(${PROJECT_NAME} main.cpp
        math_Prime.cpp
        math_Prime.h
)
# 链接 libtorch 库
target_link_libraries(${PROJECT_NAME} "${TORCH_LIBRARIES}")
message("tl${TORCH_LIBRARIES}")
# 设置 libtorch 头文件路径
target_include_directories(Study PRIVATE ${TORCH_INCLUDE_DIRS})
message("TI${TORCH_INCLUDE_DIRS}")
## 设置 C++ 标准
set_property(TARGET Study PROPERTY CXX_STANDARD 17)

然后就是CMake一下
导入这些包,之前我不能用的,重启之后的第二天,密码的竟然能用了,构思

#include <torch/torch.h>
#include <iostream>

int main() {
    torch::Tensor tensor = torch::rand({2, 3});
    std::cout << tensor << std::endl;
}

结果

 0.3318  0.0611  0.9970
 0.5363  0.8822  0.1034
[ CPUFloatType{2,3} ]

总结

重启能密码的解决99%的问题,其中1%靠努力和天赋,也就是说,你会重启已经超过大多数的人了,其他都是因为开发这些程序的人不够努力导致的,还要自己去导入,累都累死了,都怪他们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘘嘘出差

给个1分钱都行,主要看不到活人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值