码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Visual Studio导入libtorch(Cuda版)


    Visual Studio导入libtorch(Cuda版)

    一、安装

    官网:https://pytorch.org/get-started/locally/

    相应地选择并下载

    image-20240424193946481

    二、环境变量配置

    解压zip,得到libtorch文件夹,将libtorch\lib和libtorch\bin对应路径添加到系统环境变量-Path中。

    这里加入的是最后两个libtorch相关的,顺便找到之前的cuda路径,之后在vs配置时有用

    image-20240424194117687

    三、VS配置

    (1)右键项目名->属性【或者Alt+Enter快捷键调出面板】

    • 设置为x64平台

    (2)VC++目录

    1. 包含目录

      选择箭头->编辑

      # 填入自己对应的cuda和libtorch相关路径
      CUDA路径\CUDA\v11.7\include
      libtorch路径\libtorch\include
      libtorch路径\libtorch\include\torch\csrc\api\include
      
      • 1
      • 2
      • 3
      • 4
    2. 库目录编辑

      CUDA路径\CUDA\v11.7\lib\x64
      libtorch路径\libtorch\lib
      
      • 1
      • 2

    image-20240424195451480

    (3)C\C++

    1. 常规-附加包含目录

      和包含目录一样

      CUDA路径\CUDA\v11.7\include
      libtorch路径\libtorch\include
      libtorch路径\libtorch\include\torch\csrc\api\include
      
      • 1
      • 2
      • 3

      也可以直接用**$(IncludePath)**替代这三行

    2. 语言

      • 如果报错#error You need C++17 to compile PyTorch,那么C++语言标准选择ISO C++17 标准 (/std:c++17)

      • 如果报错#error std 不明确的符号,那么把符合模式改为否

    3. 预编译头

      • 设置为不使用预编译头,否则可能会出现#include xxx 无法编译的问题

    (4)链接器

    1. 常规-附加库目录

      和库目录一样

      CUDA路径\CUDA\v11.7\lib\x64
      libtorch路径\libtorch\lib
      
      • 1
      • 2
    2. 输入-附加依赖项

      • 在路径\libtorch\lib中检索cuda和torch,将对应的所有lib加入到附加依赖项中,以及c10等;

      • 在路径\libtorch\lib下要加入cudart.lib

      主要是以下:

      # 路径\libtorch\lib
      c10.lib
      c10_cuda.lib
      pytorch_jni.lib
      torch.lib
      torch_cuda.lib
      torch_cpu.lib
      # torch_cuda_cpp.lib
      # torch_cuda_cu.lib
      
      # 路径\CUDA\v11.7\lib
      cudart.lib
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12

      image-20240424195627846

    3. 命令行

      指令一: # 适用cuda11.8版本、libtorch1.8.1
      /INCLUDE:?warp_size@cuda@at@@YAHXZ
      
      指令二: # 适用libtorch1.9.0
      /INCLUDE:"?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z 
      
      指令三: # 适用1.10.2+cu113版本
      /INCLUDE:?warp_size@cuda@at@@YAHXZ -INCLUDE:?searchsorted_cuda@native@at@@YA?AVTensor@2@AEBV32@0_N1@Z 
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

      image-20240424200033142

    四、报错

    1、由于找不到xx.dll,无法继续执行代码。重新安装程序可能会解决此问题

    image-20240424200724353

    解决方案:在调试-环境中加入

    # PATH=libtorch路径\libtorch\lib;%PATH%
    PATH=F:\Software\Alib\libtorch\lib;%PATH%
    
    • 1
    • 2

    image-20240424200912595

    参考链接:

    C++下的libtorch部署——(三)window10下的Visual Studio配置libtorch

    C++部署Pytorch(Libtorch)出现问题、错误汇总

  • 相关阅读:
    微服务项目搭建之技术选型
    GaussDB CN服务异常实例分析
    redis序列化协议RESP
    零代码编程:用ChatGPT多线程批量将PDF文档转换为word格式
    Java解决new date出现的时区问题(差8小时)
    【华为OD机试真题 JS】根据某条件聚类最少交换次数
    基于低代码平台实现的CRM系统
    java中对象的比较
    HTML学生个人网站作业设计——中华美食(HTML+CSS) 美食静态网页制作 WEB前端美食网站设计与实现
    Django的网站项目开发好了,该用何种方案在Centos上部署【答:Gunicorn(uWSGI)+Nginx】
  • 原文地址:https://blog.csdn.net/Netceor/article/details/138168479
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号