Visual Studio配置libtorch(cuda安装一步到位)

Visual Studio配置libtorch

  • visual Studio安装
  • cuDNN安装
  • CUDAToolkit安装
  • libtorch下载
  • Visual Studio配置libtorch(cuda版本配置)

visual Studio安装

visual Studio点击安装

具体的安装和配置过程这里就不进行细讲了,可以参考我这篇博客Visual Studio配置OpenCV(保姆及教程)

在这里插入图片描述

cuDNN安装

cuDNN点击安装

查看自己的显卡驱动版本以确定cuDNN的安装版本,一般是最新版本的就没什么问题。

在这里插入图片描述

直接选择最新的进行安装,具体安装过程这里就不进行说明了。

在这里插入图片描述

CUDAToolkit安装

CUDAToolkit点击安装

选择配套的CUDAToolkit,这里需要CUDA的12.x版本,在下方红框中随便选择一个安装即可

在这里插入图片描述

这里将CUDAToolkit进行解压,会出现以下目录,将其全部复制粘贴到cuDNN所在的目录下,一般默认安装位置为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3

在这里插入图片描述

进入环境变量将以下路径添加至环境变量中

在这里插入图片描述

打开窗口【win +R】输入cmd,再输入nvidia-smi显示以下界面就说明CUDA安装成功了。

在这里插入图片描述

libtorch下载

libtorch点击下载

我们直接选择cuda版本的debug版本进行下载。需要注意的是debug和rellease版本是有区别的。

在这里插入图片描述

下载完成之后解压将以下路径放置环境变量中

在这里插入图片描述

Visual Studio配置libtorch(cuda版本配置)

打开属性进行配置

在这里插入图片描述

点击调试,点击环境,添加路径至环境
在这里插入图片描述
点击VC++目录, 点击包含目录, 将libtorch和cuda的路径进行添加。
在这里插入图片描述
点击VC++目录, 点击库目录,将libtorch和cuda路径进行添加。
在这里插入图片描述
点击c/c++,点击常规,点击附加包含目录,添加$(IncludePath),将SDL检查改为否
在这里插入图片描述
点击语言,点击c++语言标准,改为c++17, 根据自己报错进行更改,我的是c++17,默认为c++14.将符合模式改为否
在这里插入图片描述
点击链接器,点击输入,点击附加依赖项,将你安装的libtorch路径E:\DownloadTemp\libtorch\lib下的所有.lib文件进行添加。
在这里插入图片描述
到这里你的libtorch的cpu版本就已经配置完成了,如果需要配置gpu版本就跟以下这个链接器的命令行有关系,在命令行的其他选型中输入/INCLUDE:"?ignore_this_library_placeholder@@YAHXZ" ,不同的CUDA版本需要不同的命令行,根据自己的版本进行配置。
在这里插入图片描述

输入以下代码进行测试

#include <iostream>
#include <vector>
#include<torch/torch.h>
#include<torch/script.h>using namespace std;int main() {auto a = torch::rand({ 5, 3 });if (torch::cuda::is_available()) {cout << "cuda可用" << endl;}else{cout << "不可用" << endl;}cout << a << endl;
}

显示以下界面说明你的环境以配置成功

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749963.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java关于物联网消息引擎:EMQ X

1.背景 1、5G 时代&#xff0c;万物互联 随着5G的到来&#xff0c;万物互联已经成为现实&#xff0c;物联网行业得以蓬勃发展&#xff0c;催生了很多的应用&#xff0c;比如&#xff1a;物联网pass平台&#xff0c;车联网&#xff0c;面向云平台的IOT-Hub&#xff0c;NB-IoT蜂…

Simulink|局部遮荫下光伏组件多峰值PSO-MPPT控制

目录 主要内容 1.光伏电池工程数学模型的输出特性程序 2.普通扰动观察法进行MPPT 3.基于粒子群寻优的多峰输出特性 4.PSO_MPPT仿真模型 程序下载链接 主要内容 在实际的光伏发电系统中,由于环境多变等因素的影响,当局部出现被遮挡情况时光伏阵列的功率-电压(P-U)特…

Java集合类:List、Set、Map常用集合解析

Java集合类&#xff1a;List、Set、Map常用方法解析 文章目录 Java集合类&#xff1a;List、Set、Map常用方法解析一、List集合&#xff1a;有序的元素集合1. ArrayList2. LinkedList 二、Set集合&#xff1a;无序的不重复元素集合1. HashSet2. TreeSet 三、Map集合&#xff1a…

思科CISCO ASA 5555防火墙如何新增一条Ipsec隧道至深信服防火墙

环境: 总部:深信服 AF 8.0.75 分部:思科AF ASA 5555 Cisco Adaptive Security Appliance Software Version 9.4(2)6 Device Manager Version 7.5(2)153 问题描述: 思科CISCO ASA 5555防火墙如何新增至深信服设备 Ipsec隧道 解决方案: Ipsec知识 IKE模式(第1阶段)…

【C语言】字符与字符串---从入门到入土级详解

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.字符类型和字符数组&#xff08;串&#xff09;简介 1.ASCII 2.定义&#xff0c;初始化&#xff0c;使用 1>字符的定义及初始化 2>字符串的定义及初始化 二.…

Linux 网络虚拟化 Macvlan(基于物理网络接口虚拟网络接口) 认知

写在前面 博文内容涉及 Macvlan 的简单认知&#xff0c;以及一个Demo博文内容根据《 Kubernetes 网络权威指南&#xff1a;基础、原理与实践》 整理理解不足小伙伴帮忙指正 不必太纠结于当下&#xff0c;也不必太忧虑未来&#xff0c;当你经历过一些事情的时候&#xff0c;眼前…

flink1.18.0 自定义函数 接收row类型的参数

比如sql中某字段类型 array<row<f1 string,f2 string,f3 string,f4 bigint>> 现在需要编写 tableFunction 需要接受的参数如上 解决方案 用户定义函数|阿帕奇弗林克 --- User-defined Functions | Apache Flink

传输层/UDP/TCP协议

再谈端口号 TCP/IP协议用“源IP”&#xff0c;“源端口号”&#xff0c;“目的IP”&#xff0c;“目的端口号”&#xff0c;“协议号”&#xff0c;这样一个五元组来标识一个通信&#xff08;可以用netstat -n来查看&#xff09;。 端口号的划分和知名端口号 我们之前就说过&am…

Linux信号量(简易版)

Sem.hpp(用于封装信号量): #include<iostream> #include<queue> #include<unistd.h> #include <semaphore.h> using namespace std; class Sem { public:Sem(int num){sem_init(&_sem,0,num);}~Sem(){sem_destroy(&_sem);}void V(){sem_post(…

Jenkins通知目标服务器拉取Harbor镜像部署

1.告诉目标服务器拉取哪个镜像 2.判断当前有没有正在运行此容器&#xff0c;有就删除 3.接着查看拉取的镜像目标服务器上是否已存在&#xff0c;有就删除 4.拉取Harbor镜像 5.运行容器 目标服务器编写脚本 创建个部署脚本 vim deploy.sh告诉目标服务器Harbor地址、仓库、镜像…

前端小白的学习之路(HTML5 一)

提示&#xff1a;一些HTML5新增的标签:语义化标签&#xff0c;<img>,<video>,<audio> 目录 一、HTML5简介 二、语义化标签 1)新增语义化标签 2)示例 三、多媒体标签 1)图片标签 图片加载问题 1.当图片路径预设好时可以直接获取图片的信息 2.当在JS中…

【SQL】1193. 每月交易 I 【年月日(日期)拼接相关函数】

前述 知识点学习&#xff1a; SQL 日期函数 day() 、month()、year() 各种使用方法mysql 两个字符年月拼接 题目描述 leetcode题目&#xff1a;1193. 每月交易 I 思路 先按照年月排&#xff0c;再按照country排列 日期拼接相关的函数 year(): 截取年份&#xff1b;month…

Java设计模式 | 设计模式概述和分类

独孤求败五重境界 利剑&#xff08;“凌厉刚猛&#xff0c;无坚不摧&#xff0c;弱冠前以之与河朔群雄争锋。”&#xff09;软剑&#xff08;“紫薇软剑&#xff0c;三十岁前所用&#xff0c;误伤义士不祥&#xff0c;乃弃之深谷。”&#xff09;重剑&#xff08;“重剑无锋&a…

宜搭faas服务器获取accessToken

可以用faas服务器的OpenAPIUtil.getCustomAccessTokenThenCache&#xff08;Client ID,Client Secret&#xff09;就可以获取 至于获取这个Client ID&#xff0c;Client Secret 就需要在钉钉开放平台创建一个应用 然后在这个应用的基础信息里面有 注意的是&#xff1a;如果需要…

「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架

文章目录 关于 | About技术文档 | Document开源项目 | Project 案例 | Demo项目结构 | Structure主程序配置集成 | Settings引入框架依赖 | Framework在配置文件加入配置 | YamlSpringBoot启动类改引导类 | Change 插件配置集成 | Settings引入依赖 | XML定义插件引导类 | Clas…

Java并发编程—JUC线程池架构

Java并发编程&#xff08;JUC&#xff0c;Java Utilities Concurrency&#xff09;中的线程池架构是Java提供的一种用于管理和复用线程的机制。线程池的主要目标是减少线程创建和销毁的开销&#xff0c;提高系统的响应速度&#xff0c;并通过合理的线程管理和资源分配&#xff…

JUnit 面试题及答案整理,最新面试题

JUnit中的断言&#xff08;Assert&#xff09;有哪些类型&#xff1f; JUnit提供了多种断言类型来帮助测试代码的正确性。常见的断言类型包括&#xff1a; 1、assertEquals&#xff1a; 用于检查两个值是否相等。如果不相等&#xff0c;测试失败。 2、assertTrue和assertFal…

数据结构的概念大合集05(串)

概念大合集05 1、串的相关定义2、串的基本运算3、串的顺序存储结构3.1 顺序串 4、串的链式存储结构4.1 链串 1、串的相关定义 串是有零个户多个字符组成的有限序列&#xff0c;比如字符串。用 “ ” 或 ‘ ’ 来表示串。两个串相等&#xff1a;当且仅当这两个串的长度相等并且…

sqllab第二十五A关通关笔记

知识点&#xff1a; 数值型注入双写绕过 oorranand这里不能用错误注入&#xff08;固定错误回显信息&#xff09;联合注入 测试发现跟25关好像一样&#xff0c;就是过滤了and or # 等东西 构造payload:id1/0 发现成功运算了&#xff0c;这是一个数值型的注入 构造payload:id…

高效使用 JMeter 生成随机数:探索 Random 和 UUID 算法

在压力测试中&#xff0c;经常需要生成随机值来模拟用户行为。JMeter 提供了多种方式来生成随机值&#xff0c;本文来具体介绍一下。 随机数函数 JMeter 提供了多个用于生成随机数的函数&#xff0c;其中最常用的是__Random函数。该函数可以生成一个指定范围内的随机整数或浮…