当前位置: 首页 > news >正文

win10 VS2019上libtorch库配置过程

win10 VS2019上libtorch库配置过程

  • 0 引言
  • 1 获取libtorch
  • 2 在VS上配置使用libtorch库
  • 3 结语


0 引言

💻💻AI一下💻💻
  libtorch库是一个用于深度学习的C++库,是PyTorch的官方C++前端。它提供了用于构建和训练深度学习模型的高级API,并支持张量计算、自动微分和模型导出。libtorch库可以用于开发高性能、跨平台的深度学习应用程序,包括模型部署、推理和嵌入式系统。它提供了一种与Python无关的方式来使用PyTorch的功能,使得开发人员可以在不依赖于Python的环境中使用PyTorch的强大功能。libtorch库还支持与其他C++库和工具的集成,如OpenCV和CUDA,从而进一步扩展其应用范围。

  本篇主要讲述如何获取、配置和简单使用libtorch库,并分享配置过程中遇到的一些问题。下面是主要内容。

1 获取libtorch

  libtorch库文件可以从官网获取,进入官网后找到下面界面,然后选择自己需要的版本,如果所使电脑显卡支持GPU可以下载"CUDA“版本的库,一般情况下载图示CPU版本的即可,下载链接在字段"Run this Command"一栏。debug和Release版本的libtorch库都要下载,后面配置到VS时要用到。


  如果想要获取其它版本的库,可以点击上图最后的按钮”Previous versions of Pytorch“,得到一个新的网页,可以在网页中找自己需要的版本,也可以进网站进行下载,下载界面如下。如果获取 GPU版本的,可以更改上面网站的后缀到需要的gpu版本,如”/cpu“改为”/cu118“


2 在VS上配置使用libtorch库

  下载完成libtorch库后要配置到VS中了。配置方法种吧,一种就是原始配置方法,将库目录及相关lib手动添加到VS中,然后缺少什么就补什么;另一种方法是借用`VSIXTorch工具``进行配置,本篇简单介绍下使用VSIXTorch工具配置的过程。

  (1) VSIXTorch工具获取:进入网站,然后根据自己VS的版本下载对应版本的VSIXTorch扩展工具。


  (2) 安装VSIXTorch工具:安装较为简单,以管理员身份运行VSIXTorch.exe然后工具会自行找到对应版本并添加到扩展,需要注意的是安装时可以不联网,但是要关闭已打开的VS工程。

  (3) 检查是否安装成功:安装完成之后打开VS2019,下拉找到扩展的Torch工程项目创建向导,也可以直接在搜索框输入Torch进行查找,安装成功后界面如下。如果未找到,就需要检查电脑上的VS版本与扩展工具的版本是否匹配,可以重新获取VSIXTorch工具,再次进行安装尝试。


  (4) 库加载到项目:点击创建TorchProject,设置完成工程存放路径,再点击创建时会弹出下面界面,这时将上面下载到的Debug和Release libtorch库分别填入对应位置,再点击OK项目创建完毕;


  (5) 尝试运行测试代码:创建torchProject后会自动把创建一段试程序,尝试编译运行,编译的时候可能会报以下错误

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 MSB8036 找不到 Windows SDK 版本 10.0.18362.0。请安装所需版本的 Windows SDK,或者在项目属性页中或通过右键单击解决方案并选择“重定解决方案目标”来更改 SDK 版本。

  通过修改:属性->windows SDK版本,即可解决上述报错问题。如果遇到其他问题,期待你的留言讨论。下面是自动创建的测试代码。

#include <torch/torch.h>
#include <iostream>int main() {torch::Tensor tensor = torch::rand({2, 3});if (torch::cuda::is_available()) {std::cout << "CUDA is available! Training on GPU" << std::endl;auto tensor_cuda = tensor.cuda();std::cout << tensor_cuda << std::endl;}else{std::cout << "CUDA is not available! Training on CPU" << std::endl;std::cout << tensor << std::endl;	  }std::cin.get();
}

  如果编译没有报错,不出意外的话,会得到下面结果😜:


3 结语

  本篇讲述了如何获取、配置libtorch库的过程,分享配置过程中遇到的问题及解决办法。






😜
😜😜
😜😜😜😜

http://www.lryc.cn/news/516806.html

相关文章:

  • 【计算机网络】课程 实验二 交换机基本配置和VLAN 间路由实现
  • Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步
  • OpenCL(贰):浅析CL内核程序接口函数
  • Leetcode 3407. Substring Matching Pattern
  • 学英语学压测:02jmeter组件-测试计划和线程组ramp-up参数的作用
  • Vue笔记-001-声明式渲染
  • 26考研资料分享 百度网盘
  • .NET 8 + Ocelot + Consul 实现代理网关、服务发现
  • 使用 Nginx 轻松处理跨域请求(CORS)
  • 【LeetCode Hot100 二分查找】搜索插入位置、搜索二维矩阵、搜索旋转排序数组、寻找两个正序数组的中位数
  • 使用MediaPipe Face Mesh 面部动作检测
  • 【Vue】<script setup>和 <script>区别是什么?在使用时的写法区别?
  • 微服务框架,Http异步编程中,如何保证数据的最终一致性
  • vue3-dom-diff算法
  • 年会抽奖Html
  • ubuntu16 重启之后lvm信息丢失故障恢复
  • 【华为OD-E卷 - 热点网站统计 100分(python、java、c++、js、c)】
  • Ubuntu下安装Android Sdk
  • 【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析
  • 怎样修改el-table主题样式
  • MySQL(二)MySQL DDL数据库定义语言
  • Spring Boot 项目启动报 NoClassDefFoundError 异常的原因分析与解决方案 - jackson 版本不一致
  • 原型与原型链
  • 【Linux】信号处理
  • 5个不同类型的mysql数据库安装
  • python学习笔记—12—布尔类型、if语句
  • 分数阶傅里叶变换代码 MATLAB实现
  • 《数据结构》期末考试测试题【中】
  • openwrt 清缓存命令行
  • RP2K:一个面向细粒度图像的大规模零售商品数据集