Windows下安装配置深度学习环境

news2024/11/15 15:45:51

Windows下安装配置深度学习环境

1. 准备工作

1.1 环境准备

  • 操作系统:win10 22H2
  • GPU:Nvidia GeForce RTX 3060 12G

1.2 安装Nvidia驱动、cuda、cuDNN

下载驱动需要注册并登录英伟达账号。我这里将下面用到的安装包放到了百度网盘,可以关注微信公众号思享云栈回复deeplearning获取。

到NVIDIA驱动程序下载并安装适合你显卡的最新驱动,我这里下载的安装包版本为555.85-desktop-win10-win11-64bit-international-dch-whql.exe,双击进行安装即可。

Windows下安装后路径为:C:\Program Files\NVIDIA Corporation

1.3 安装CUDA Toolkit

官网查看CUDA版本与驱动版本的配套关系,部分截取如下:

alt

到CUDA下载界面下载CUDA安装程序。我这里下载安装CUDA Toolkit 11.8,满足配套关系,下载后的安装包为cuda_11.8.0_522.06_windows.exe,傻瓜式安装即可。

Windows下安装后路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

Windows下会自动添加环境变量配置:

CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

打开cmd命令行,通过nvcc -V进行验证安装:

>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

1.4 安装cuDNN

到cuDNN下载界面下载cuDNN,安装包为zip。

我这里下载安装cuDNN 8.9.7 for CUDA 11.x,下载界面会有说明cuDNN与cuda的配置关系。

下载完成后,将压缩包解压。解压后会得到包含bin, include, 和 lib目录的文件夹。

将解压后的对应目录文件复制到你的CUDA对应安装目录中。假设你的CUDA安装目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8。使用命令行拷贝执行以下操作:

copy cudnn-windows-x86_64-8.9.7.29_cuda11-archive\bin\* "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin"
copy cudnn-windows-x86_64-8.9.7.29_cuda11-archive\include\* "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include"
copy cudnn-windows-x86_64-8.9.7.29_cuda11-archive\lib\x64\* "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib\x64"

备注:

  • cmd命令行需要使用管理员身份打开。
  • 也可以手动进行拷贝。

2. 安装anaconda

访问 Anaconda官网 下载适用于windows的Anaconda安装包,按照提示完成安装,安装过程中建议“将Anaconda添加到系统环境变量中”勾选。

安装后通过windows搜索打开Anaconda Prompt,执行如下命令添加清华镜像源:

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --set show_channel_urls yes

关于anaconda安装的详细细节可以参考我的另外一篇博客,《anaconda的安装和使用》。

3. 安装Pytorch

创建conda虚拟环境:

conda create --name dl-env python=3.10
conda activate dl-env

在PyTorch官网选择当前环境的配套信息,获取到安装命令:

alt
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

注意:

如果conda环境安装操作下遇到权限问题,可以尝试使用管理员身份运行Anaconda Prompt

4. 验证安装

# 启动python解释器
python

#
 导入PyTorch并检查CUDA可用性
import torch
print(torch.__version__)  # 打印PyTorch版本
print(torch.cuda.is_available())  # 检查CUDA是否可用
if torch.cuda.is_available():
    print(torch.cuda.get_device_name(0))  # 打印GPU名称

或者执行如下命令检查:

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0)) if torch.cuda.is_available() else None"

返回如下说明安装成功:

2.3.0
True
NVIDIA GeForce RTX 3060

本文由 mdnice 多平台发布

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

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

相关文章

【MATLAB】信号的熵

近似熵、样本熵、模糊熵、排列熵|、功率谱熵、奇异谱熵、能量熵、包络熵 代码内容: 获取代码请关注MATLAB科研小白的个人公众号(即文章下方二维码),并回复信号的熵本公众号致力于解决找代码难,写代码怵。各位有什么急需…

JavaRedis-主从集群-分片-数据结构-回收处理-缓存问题

一、主从集群 1.主从集群 主从集群读写分离,主能读能写,从只能读,读的数据是同步主的 docker搭建: docker-compose 这里设置网络模式为model,就直接暴露在了宿主机中,就不用映射端口了 不改就是默认的桥…

Java进阶学习笔记30——BigDecimal

BigDecimal: 用于解决浮点型运算的,出现结果失真的问题。 运行结果: package cn.ensource.d4_bigdecimal;import java.math.BigDecimal;public class Test {public static void main(String[] args) {// 目标:了解BigDecimal类do…

蓝桥楼赛第30期-Python-第三天赛题 统计学习数据题解

楼赛 第30期 Python 模块大比拼 统计学习数据 介绍 JSON(JavaScript Object Notation, /ˈdʒeɪsən/)是一种轻量级的数据交换格式,最初是作为 JavaScript 的子集被发明的,但目前已独立于编程语言之外,成为了通用的…

【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【00】补充

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式基础篇-全栈开发篇】【00】补充 WindowsCMD插件IDEAVsCode MavenvagrantDocker解决MySQL连接慢问题启动(自动)Docker注意切换到root用户远程访问MySQL MyBatisPlus代码地址参考 WindowsC…

分布式专题

一:分布式事务 1、理论基础 分布式事务主要区分本地事务 什么是本地事务(Local Transaction)?本地事务也称为数据库事务或传统事务(相对于分布式事务而言)。尤其对于数据库而言,为了数据安全…

解决Jupyter运行代码显示Kernel Restarting的错误

在Jupyter notebook上运行代码时发现如下错误: 使用VS Code运行在日志表中发现错误存在: 它表明在初始化"libiomp5md.dll"库时发生问题,因为该库已经被初始化过了,这个错误可能是由于程序中重复初始化OpenMP库导致的&am…

简单多状态 dp 问题

11. 按摩师&#xff08;easy&#xff09; 解法&#xff08;动态规划&#xff09;&#xff1a; 图解&#xff1a; C 算法代码&#xff1a; class Solution { public:int massage(vector<int>& nums) {// 1. 创建⼀个 dp 表// 2. 初始化// 3. 填表// 4. 返回值int n n…

ASP+ACCESS客户管理信息系统

摘要 本文介绍了客户管理系统的实现方法。目的在于让大家共享学习和运用这一语言的体会和收获。本系统是Internet/Intranet环境下面向电子商务的客户管理&#xff0c;通过企业管理技术、电子商务和信息技术的高度集成&#xff0c;讨论了客户管理系统的系统构架、系统的工作…

兰博基尼STO 激活carplay ,定制刷写原厂证书

兰博基尼STO 激活carplay &#xff0c;定制刷写原厂证书

变分自动编码器(VAE)深入理解与总结

本文导航 0 引言1 起源1.1 自编码器的任务定义1.2 自编码器存在的问题1.3 VAE的核心思路 2 VAE的建模过程2.1 VAE的任务定义2.2 真实分布 ϕ \phi ϕ是什么&#xff0c;为什么要逼近这个分布的参数&#xff0c;如何做&#xff1f;2.3 “重参数化&#xff08;Reparameterization…

SFP光模块使用注意事项

SFP光模块安装: SFP光模块卸载: SFP光模块的使用: 测试用光纤须保证端面清洁&#xff0c;使用光纤连接光功率计或SFP模块前&#xff0c;必须清洁端面。 不要让SFP模块接收光功率长期处于过载点以上&#xff0c;尤其对于采用APD接收器件的模块&#xff0c;以免损坏。 使用仪表…

【C++】二分查找算法:x的平方根

1.题目 2.算法思路 看到题目可能不容易想到二分查找。 这题考察我们对算法的熟练程度。 二分查找的特点&#xff1a;数组具有二段性(不一定有序)。 题目中没有数组&#xff0c;我们可以造一个从0到x的数组&#xff0c;然后利用二分查找找到对应的值即可。 3.代码 class S…

STL---unordered set和unordered multiset【无序集合】

1.1 定义及初始化&#x1f357; 下面列出常用的初始化方式 #include <unordered_set> #include <iostream> using namespace std; //输出s中的所有元素 template<typename T> void Show(const T& s) {for (auto& x : s) …

每日一题---有效的括号问题

文章目录 前言1.题目以及分析2.参考代码 前言 前面我们学习了栈的相关操作&#xff0c;现在我们做一道题&#xff0c;进行巩固 Leetcode—有效的括号 1.题目以及分析 这道题就可以使用栈进行操作&#xff0c;因为把最左边的括号当成栈底&#xff0c;最右边的是栈顶&#xff0c…

Ansible02-Ansible Modules模块详解

目录 写在前面4. Ansible Modules 模块4.1 Ansible常用模块4.1.1 Command模块4.1.2 shell模块4.1.3 scrpit模块4.1.4 file模块4.1.5 copy模块4.1.6 lineinfile模块4.1.7 systemd模块4.1.8 yum模块4.1.9 get_url模块4.1.10 yum_repository模块4.1.11 user模块4.1.12 group模块4.…

Windows11平台在VS2022上通过CMake安装C++绘图库ROOT库

Root库是一个功能强大的开源软件框架&#xff0c;用于数据分析、可视化和存储。它最初是为高能物理实验设计的&#xff0c;但现在已经广泛应用于各种科学领域和工程应用中。Root库使用C编写&#xff0c;提供了许多用于数据处理和分析的工具和算法。它的核心功能包括数据存储、数…

《python编程从入门到实践》day39加更

# 昨日知识点回顾 添加主题、条目 # 今日知识点学习 19.1.3 编辑条目 1.URL模式edit——entry # learning_logs/urls.py ---snip---# 用于编辑条目的页面path(edit_entry/<int:entry_id>/, views.edit_entry, nameedit_entry), ] 2.视图函数edit_entry() # views.py fr…

将3D检测的box框投影到BEV图片上

前言 点云数据作为一种丰富的三维空间信息表达方式&#xff0c;通常用于自动驾驶、机器人导航和三维建模等领域。然而&#xff0c;点云数据的直观性不如二维图像&#xff0c;这限制了它在一些需要快速视觉反馈的应用场景中的使用。本文将探讨如何将点云数据转换为二维图像&…