码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • (二)Ubuntu系统Pytorch环境配置


    • 1、前言
    • 2、安装miniconda
    • 3、安装Pytorch
    • 4、安装CUDA和cuDNN
    • 5、验证

    环境配置系列:

    (一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程
    (二)Ubuntu系统Pytorch环境配置
    (三)Windows系统Pytorch环境配置(简易方法安装CUDA和cuDNN)

    Ubuntu20.04+GTX 1050(notebook)安装paddlepaddle

    1、前言

    假设你已经按照(一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程安装好了Ubuntu系统,现在我们要为pytorch的使用配置环境:

    • miniconda:一个环境管理软件,环境和环境之间隔离,在不同环境中你可以安装不同python版本和pytorch版本等,这在实践中非常方便,我想你也不希望当你想使用另一个pytorch版本时,只能卸载当前pytroch在安装。有了miniconda你可以直接新建一个环境,在新环境中安装你想要的pytroch版本。
    • CUDA:想要使用GPU进行pytroch加速,就需要这个帮助你并行计算(当然不需要你去操作,你只需要安装好就行)
    • cuDnn:深度神经网络的加速库,CUDA的小弟
    • pytorch:不多说了

    当然本文是Ubuntu下安装Pytorch,Windows下安装Pytorch环境移步:(三)Windows系统Pytorch环境配置(简易方法安装CUDA和cuDNN)

    2、安装miniconda

    你或许在其他教程中看到过要安装Anaconda,但实际上miniconda就够用了,两个的区别可以理解为Anaconda为全家桶,它会帮你预装很多东西,实际上却用不到(比如数据分析,如果你不是这个方向)。

    miniconda可以从官网下载并安装,这里就不详细介绍了,这只是一个软件,而且网上有大量的安装教程和使用教程。

    3、安装Pytorch

    我们先使用miniconda创建一个python环境,在终端使用conda 命令

    # 创建一个name为EnvsName的环境,该环境的python=3.7
    conda create -n EnvsName python=3.7
    
    # 激活进入使用该环境,此时提示符最前面应该有个(),里面是环境名字,表示你现在在这个环境里
    conda activate EnvsName
    
    • 1
    • 2
    • 3
    • 4
    • 5

    现在来安装Pytorch,先去官网选择自己的配置,在下方给出了pip的安装命令

    Ubuntu系统所以选择Linux,对于CUDA版本根据自己的需求选择,如果使用的是安培架构的GPU,推荐使用CUDA11以上。如果你使用的是非安培架构的GPU,推荐使用CUDA10.2,性能更优。
    我的不是安培架构,所以选择了CUDA10.2

    在这里插入图片描述
    复制该命令(如果不需要,可以去掉torchaudio)到终端中执行,等待便可成功安装。

    4、安装CUDA和cuDNN

    本部分是借鉴了:Ubuntu下安装CUDA,对于CUDA部分的安装完全按该教程是没有问题的

    以下重点讲cuDNN部分

    首先,进入官网下载cuDNN,选择与CUDA合适的版本。比如我安装的CUDA11.3,则直接选择Download cuDNN v8.4.1 (May 27th, 2022), for CUDA 11.x,该版本的cuDNN适合11.0系列的CUDA。

    点击cuDNN v8.4.1展开后下载Local Installer for Windows (Zip),然后执行下面的命令:

    # 为了方便,假设你的cudnn文件夹名为cuDNNFolder
    1.解压下载的cuDNN的tar包.
      $ tar -xvf cuDNNFolder.tar.xz
      
    2. 复制cuDNN文件(*代表符合该规则的所有文件)
      $ sudo cp cuDNNFolder/include/cudnn*.h /usr/local/cuda/include 
      $ sudo cp -P cuDNNFolder/lib/libcudnn* /usr/local/cuda/lib64 
      $ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在~/.bashrc文件中添加环境变量(cuda-11.3是我安装的cuda版本):

    export LD_LIBRARY_PATH=/usr/local/cuda-11.3/targets/x86_64-linux/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
    • 1

    然后重启终端或者重启电脑更新

    5、验证

    至此,Pytorch、CUDA和cuDNN都按照好了,来验证下是否成功

    网上大多数是通过torch.cuda.is_availabel()来验证,但是实践中发现有时该命令输出True后,在后续pytorch使用中也会报错。

    所以更稳靠的方式是创建一个tensor,并放置到cuda上去,如果没有报错并成功放上去了,就证明验证成功,并可以正常使用CUDA:
    torch.tensor([1]).cuda()
    该命令是创建一个内容为[1]的tensor,并将其放置到cuda上去,如下图结果是成功创建了tensor,并且该tensor位于’cuda:0’上
    在这里插入图片描述

    查询版本信息的代码:

    print("Python Version:", sys.version)	# python版本
    print("pytorch version:", torch.__version__)	# pytorch版本
    print("CUDA Version:", torch.version.cuda)	# cuda版本
    print("cuDnn Version:", torch.backends.cudnn.version())	# cudnn版本
    print("Devices:", device)	# 使用的设备cuda or cpu
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    K8S1.23.6版本详细安装教程以及错误解决方案(包括前置环境,使用部署工具kubeadm来引导集群)
    神经网络中神经元的权重更新
    智慧燃气:智慧燃气推进设备全面感知及协同运营
    java面试小经历
    安卓App生成签名证书,uniapp生成自有证书打包
    在docker容器中 运行docker命令no such file
    46. 全排列
    搭建智能桥梁,Amazon CodeWhisperer助您轻松编程
    堆料,新能源汽车走上智能手机老路
    【秋招基础知识】轻量化:MobileNetv123和ShuffleNet
  • 原文地址:https://blog.csdn.net/qq_40243750/article/details/125478727
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号