深度学习GPU环境安装(Windows、WSL)

2023-11-05

目录

1. 概述

2. windows环境安装

2.1 电脑配置

2.2 安装PyTorch

2.3 安装CUDA和cuDNN

2.4 环境变量配置

2.5 测试

3. WSL Linux环境安装(ubuntu)

3.1 安装 ubuntu

3.2 安装CUDA

3.3 安装PyTorch


1. 概述

深度学习的库基本都基于CUDA,需要购买Nvidia芯片的显卡。有了GPU显卡,可以在windows环境、Linux环境等均可以处理。

因为WSL的出现,可以有三种选择:

1)纯windows环境:可以通过conda建立python虚拟环境进行处理。

2)纯linux环境:与windwos环境类似。

3)WSL2:通过在windows上的WSL安装对应的linux系统进行处理,同样可以利用GPU硬件。

下文的windows系统安装时间为:2023年4月6日。

2. windows环境安装

2.1 电脑配置

台式机:操作系统win10(版本号 22H2),内存:32G,显卡:GeForce RTX3060,12G。

通过驱动精灵安装了驱动,然后通过Nvidia的工具查看系统信息如下:

 

显示驱动为CUDA 12.1。
 

2.2 安装PyTorch

本文前提已经通过 conda 安装好了python虚拟环境,我安装的版本为 Python 3.9.16。

首先需要检查Pytorch的支持版本,直接通过官网:

Start Locally | PyTorch (https://pytorch.org/get-started/locally/)

在windows上,设置条件,发现目前最多支持到 CUDA 11.8,综合考虑选择11.7,无法支持12.1。下面处理 cuda时,下载了11.7.1 版本。
 

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

以上直接在python虚拟环境中运行安装。

2.3 安装CUDA和cuDNN

CUDA官网下载:CUDA Toolkit 12.1 Downloads | NVIDIA Developer

默认下载为 12.1。

在页面下方找到 Archive of Previous CUDA Releases 

早期版本:CUDA Toolkit Archive | NVIDIA Developer

下载 11.7.1 的版本:

 进入下载页面,选择条件:

 安装CUDA时,选择自定义全部安装即可。

然后下载cuDNN。

cuDNN下载官网:https://developer.nvidia.com/rdp/cudnn-download

选择对应的 11.x 版本进行下载。 

需要注册并登录后才能下载。

下载完成后,将压缩包的所有内容拷贝到CUDA安装目录相应文件夹下即可。

2.4 环境变量配置

安装完毕后,会在系统环境变量中增加 CUDA_PATH和CUDA_PATH_V11_7,增加CUDA_BIN_PATH 和 CUDA_LIB_PATH。如下图:

 打开系统变量 path,确认以下四个路径的设置:

2.5 测试

打开 cmd,通过 nvidia-smi 查看:

打开 CUDA\v11.7\extras\demo_suite目录,运行 deviceQuery.ext 等工具。

 deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 12.1, CUDA Runtime Version = 11.7, NumDevs = 1, Device0 = NVIDIA GeForce RTX 3060

Result = PASS

可以看到,CUDA Runtime Version为 11.7,满足设定的要求。

3. WSL Linux环境安装(ubuntu)

3.1 安装 ubuntu

因为一个chatgpt平替项目需要在ubuntu环境下处理,考虑安装WSL的版本。

在win10 环境WSL2 环境下,安装了ubuntu20.04。

安装完毕后,可以直接通过 nvidia-smi 命令查看(windows系统的驱动直接有用):

可以看到在ubuntu环境下,能够查询到GPU显卡的相关驱动信息。

(cuda驱动只用在Win11(或Win10)下安装,wsl2(Linux)下面不用装驱动,只要装Linux版cuda就可以。其他基本与windows系统下一致)。

安装完后,默认安装了 Python3,可以查看到版本为 3.8.10,如果符合要求,则不用重新安装:

root@TBG-WORK:/# python3 -V
Python 3.8.10
python可以通过如下安装:
sudo apt install python-is-python3

这样就建立了python到python3的软链接。

需要安装 pip3:

sudo apt install python3-pip

可以通过 pip3 --version来查看版本。

需要更新设置一下pip3的源:

pip3 config list   # 查看当前是否有配置
pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip3 config set install.trusted-host mirrors.aliyun.com

3.2 安装CUDA

选在CUDA 11.7.1 的版本,选择 WSL-Ubuntu 版本

 安装脚本:

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

安装完成后。

运行 nvcc --version 查看版本,如果找不到,则需要确认 /usr/local/cuda/bin 下是否有nvcc,如果没有,则需要重新安装CUDA,如果存在,则直接修改 ~/.bashrc 文件,在文件尾添加:

export PATH=$PATH:/usr/local/cuda/bin

然后执行 source .bashrc,立即生效。再次查看 nvcc 版本,如下:

一切OK。

3.3 安装PyTorch

首先需要检查Pytorch的支持版本,直接通过官网:

Start Locally | PyTorch (Start Locally | PyTorch

pip3 install torch torchvision torchaudio
运行安装即可,记得一定要提前更新 pip3的源,这样国内下载很快。

参考:

如何使用wsl2搭建基于Tensorflow GPU的深度学习环境? - 知乎

WSL安装CUDA并成功运行_Charles Ray的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习GPU环境安装(Windows、WSL) 的相关文章

随机推荐

  • 13.2 C语言风格的for命令、while命令和until命令

    C语言风格的for命令 在C语言中 for循环通常定义ige变量 然后这个变量会在每次迭代时自动改变 c语言的for命令 C语言的for命令有一个用来指明变量的特定方法 一个必须保持成立才能继续迭代的条件 以及另一个在每个迭代中改变变量的方
  • 算法设计与分析 动态规划 习题

    3 1 满足递归式F n F n 1 F n 2 和初始值F 0 F 1 1的数列称为斐波那契数列 考虑如何计算该数列的第n项F n 1 说明根据递归式直接完成计算 将有子问题重复求解 2 说明该问题具有优化子结构 3 写出求解F n 的动
  • 用matlab表白,你有一颗爱她的心,你就画出来

    恋爱过恋爱过程中 女生往往需要许多小惊喜 下面我教大家一种用matlab表白的一小段程序 画出一个火热的心 loving heart x y z x 2 9 4 y 2 z 2 1 3 3 x 2 z 3 9 80 y 2 z 3 爱心三维
  • Git 两分钟指南

    原文 http www garyrobinson net 2014 10 git in two minutes for a solo developer html作者 Gary Robinson 译文 http blog jobbole c
  • LeetCode【102】二叉树的层次遍历

    题目 给定一个二叉树 返回其按层次遍历的节点值 即逐层地 从左到右访问所有节点 例如 给定二叉树 3 9 20 null null 15 7 3 9 20 15 7 返回其层次遍历结果 3 9 20 15 7 通过观察返回的结果 可以直到是
  • ctfshow 每周大挑战 RCE极限挑战3

    目录 题目源码 1 跑一下正则 2 分析解题用什么payload 3 构造payload 如何获取字母N 构造出 POST及其他拼接内容 POST传参 4 完整解题payload 题目源码 1 跑一下正则 chr i echo chr i
  • 居中

    水平居中 1 HTML div class test img src images mlbtag jpg alt class test2 div CSS test width 100 test2 margin 0 auto display
  • Maximum Diameter Graph 【CodeForces - 1082D】【搜索+构造】

    题目链接 一开始忘记输出有多少条边 WA了好几发都跑不过第一组测试样例 开始怀疑自己是不是读了道假题 然后在大佬们的帮助下 终于AC 好伤心 读假样例 一定是我太弱了 我的思想是采用了树链剖分的dfs 构造思想 可能是因为最近少用了树链剖分
  • 从PFX文件中获取私钥、公钥证书、公钥

    https blog csdn net ZuoYanYouYan article details 77868584 该类具体功能 根据pfx证书得到私钥 根据私钥字节数组获取私钥对象 根据公钥字节数组获取公钥 根据pfx证书获取证书对象 根
  • iOS 史上最全App上架流程分享

    大概是19年写的文章吧 当时给Android 同事分享了下iOSApp上架的流程 就是几个人在会议室坐在一起讲课那种类型 并写了个文档保存在公司的内部网站上 今天翻出来了我感觉对新手还是挺有帮助的 就写这一篇blog吧 流程步骤 1 通过新
  • “实践与理论相结合”是开发人员的学习之道

    实践与理论相结合 这句话最常见的是一些官方的报导中 一听到这种教条主义就会嗤之以鼻 太空泛 无任何实际意义 今天就借射雕英雄传中郭靖学习武功 领悟九阴真经的过程来讲一讲 实践与理论相结合 与开发人员的关系 射雕英雄传第十七回 经中所述句句含
  • 大数据技术原理

    大数据技术原理 大数据技术原理与应用 大数据作为继云计算 物联网之后IT行业又一颠覆性的技术 备受关注 大数据无处不在 包括金融 汽车 零售 餐饮 电信 能源 政务 医疗 体育 娱乐等在内的社会各行各业 都融入了大数据的印迹 大数据对人类的
  • 【OpenCV】广告屏换图 文稿矫正 透视变换 C++ 案例实现

    目录 前言 一 透视变换的概念 二 透视变换工作原理 三 相关函数 1 findHomography函数 2 warpPerspective函数 3 getPerspectiveTransform函数 四 透视变换案例 案例1 文稿矫正 案
  • C语言学习-开发工具VS2022的选择与使用

    1 选择VS2022的理由 下载安装即可使用 无需复杂的环境配置等操作 适合初学者 2 使用过程中的遇到的问题 2 1在使用scanf函数时发生如下错误 2 2解决办法有两个 lt 1 gt 方法一 在源代码第一行添加 define CRT
  • Dockerfile中的cmd和entrypoint

    很早之前大致看了下Dockerfile中的entrypoint和cmd的区别 当时主要的感觉是 entrypoint不会被docker run后面跟的参数覆盖 而cmd则会 却一直有一个误解 认为如果在Dockerfile中同时写了entr
  • float数据在内存中是怎么存储的

    float类型数字在计算机中用4个字节存储 遵循IEEE 754格式标准 一个浮点数有2部分组成 底数m和指数e 底数部分 使用二进制数来表示此浮点数的实际值 指数部分 占用8bit的二进制数 可表示数值范围为0 255 但是指数可正可负
  • 雷军写的代码上热搜了!

    就在昨天 雷军写的代码 相关话题先后上了一波热搜和热榜 出于好奇 第一时间点进去围观了一波 原来雷总马上要在8月14日举办他的2023年度演讲了 并且也放出了对应的演讲海报 这个海报可以说暗藏玄机 放大后仔细一看 好家伙 密密麻麻全都是代码
  • jsp人事管理系统(源码+数据库)

    实例简介 实现普通用户以及管理员用户的登录 人员的管理 部门的管理 日志等信息的发布 文件 590m com f 25127180 488929552 972443 访问密码 551685 实例截图 以下内容无关 分割线 第一个想法 读取每
  • Android APK安装完成自动删除安装包

    Android APK安装完成自动删除安装包 需要实现此功能 一般实际开发是在自动版本更新上 当更新完开始自动安装完毕后 删除内存卡里的安装包 实现方式很简单 监听应用广播 获取内存卡下的文件 删除 1 监听广播 package com e
  • 深度学习GPU环境安装(Windows、WSL)

    目录 1 概述 2 windows环境安装 2 1 电脑配置 2 2 安装PyTorch 2 3 安装CUDA和cuDNN 2 4 环境变量配置 2 5 测试 3 WSL Linux环境安装 ubuntu 3 1 安装 ubuntu 3 2