当前位置: 首页 > news >正文

PyTorch(一)安装与环境配置

文章目录

    • Log
  • 一、安装 PyTorch 所需软件
    • 1. Conda 安装
      • ① Anaconda 安装
      • ② Miniconda 安装
    • 3. CUDA 安装
      • ① CUDA 安装
      • ② cuDNN 安装
      • ③ 遇到的问题
    • 4. 修改 pip 配置
    • 5. PyTorch 安装
  • 二、用到的编译器
    • 1. Pycharm
    • 2. Jupyter
    • 3. 二者的对比
  • 总结


Log

2022.08.23开个新坑,尽快做完,学习的视频:PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】
2022.08.28继续学习
2022.08.29继续学习,文章内容是对视频教程的记录和扩充,总结了其他必要的知识点以及个人遇到的问题和相关的解决方案
2022.08.30继续学习,准备工作就作为单独的一篇吧,和后面的理论应用知识分开


一、安装 PyTorch 所需软件

1. Conda 安装

  • C o n d a \rm Conda Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。
  • C o n d a \rm Conda Conda 分为 A n a c o n d a \rm Anaconda Anaconda M i n i c o n d a \rm Miniconda Miniconda A n a c o n d a \rm Anaconda Anaconda 是包含一些常用包的版本, M i n i c o n d a \rm Miniconda Miniconda 则是精简版,需要什么包就安装什么。

① Anaconda 安装

  • 官方网站:www.anaconda.com
  • 如果下载慢可以到清华大学开源软件镜像站进行下载安装,参考教程:pytorch快速安装【清华源】
  • 历史版本收录:repo.anaconda.com
  • A n a c o n d a \rm Anaconda Anaconda 可以看做是集成了大量 p a c k a g e \rm package package 的软件,可以有效避免自己在添加一些数学库时产生的错误。
  • 在开始菜单打开 A n a c o n d a    P r o m p t \rm Anaconda\ \ Prompt Anaconda  Prompt,如果可以在命令行窗口看到左侧的 ( b a s e ) \rm (base) base 则代表安装成功。

② Miniconda 安装

  • 下载网址:Miniconda - conda documentation
  • 安装完成后需要配置环境变量,将安装目录中的Script路径添加到PATH中;
  • 命令行中输入:conda info,检测是否配置成功。

3. CUDA 安装

① CUDA 安装

  • 下载网址:​​​​​kCUDA Toolkit Archive | NVIDIA Developer
  • 参考教程:CUDA安装教程(超详细)
  • 验证是否安装成功可以在命令行中输入nvcc --version 查看版本号。

② cuDNN 安装

  • 安装完 C U D A \rm CUDA CUDA 后还需要安装 c u D N N \rm cuDNN cuDNN,它是 C U D A \rm CUDA CUDA 的一个补丁,专为深度学习运算进行优化的。
  • 下载链接:cuDNN Download | NVIDIA Developer(需要注册账号)

③ 遇到的问题

  • 遇到的相关问题:CUDA driver version is insufficient for CUDA runtime version
  • 没有英伟达驱动的到这里安装:官方驱动 | NVIDIA
  • 如果安装的驱动与电脑不兼容(下图),可以到这里下载:Official Advanced Driver Search | NVIDIA
    在这里插入图片描述
  • 遇到的相关问题:Win10任务管理器中不显示GPU显卡的解决方法
  • 尝试教程中的方法,但是并未解决该问题,后来查询得知:如果 W I N 10 \rm WIN10 WIN10 版本号是低于 1709 1709 1709 的话就看不到的 G P U \rm GPU GPU 的使用情况。
  • 查看版本号的方法:设置 → 系统 → 关于
  • 打开微软官方网址,下载更新工具并更新系统。
  • 如果还没解决的话那就换一个思路,用 C P U \rm CPU CPU 跑或者使用 C o l a b \rm Colab Colab 上的 G P U \rm GPU GPU 服务,这里就不做过多介绍了。
  • 参考文章: [译] Google Colab 免费 GPU 使用教程

4. 修改 pip 配置

  • C \rm C C 盘当前 U s e r \rm User User 用户目录下创建 p i p . i n i \rm pip.ini pip.ini 文件,更改 p i p \rm pip pip 为清华源的镜像:
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host = pypi.tuna.tsinghua.edu.cn

5. PyTorch 安装

  • 在官网选择相关的配置进行安装:Start Locally | PyTorch
  • 执行选好的配置对应的指令即可进行安装:
    在这里插入图片描述
  • 检测是否安装成功:在 P y t h o n \rm Python Python 中输入import torch,不报错则代表安装成功,调用torch.cuda.is_available()函数,如果返回True则代表 P y T o r c h \rm PyTorch PyTorch 可以使用 G P U \rm GPU GPU
  • 使用dir()函数可以查看package中有哪些细分的区域,例如:dir(torch)
  • 使用help()函数可以查看函数的详细内容,例如:help(torch.cuda.is_available)(注意此处的函数不加括号,加括号时代表调用)。

二、用到的编译器

1. Pycharm

  • 因为之前已经在用 P y c h a r m \rm Pycharm Pycharm 了,所以安装教程略。
  • 下载官网:JetBrains | Pycharm
  • BTW,如果是学生的话可以免费申请教育版。

2. Jupyter

  • J u p y t e r \rm Jupyter Jupyter 是可以进行交互的 P y t h o n \rm Python Python,因为安装很简单,所以也不做教程记录。
  • 安装官网:Jupyter | Home

3. 二者的对比

  • 如果说代码是以一个块为单位运行的话,那么在 P y c h a r m \rm Pycharm Pycharm 中, P y t h o n \rm Python Python 文件的块是所有行的代码,即,如果我们的代码存在错误,那么改正之后再运行会把整个文件从头到尾重新执行一遍。优点是通用、传播方便,适用于大型项目;缺点是需要从头运行。
  • 如果是在控制台中进行代码的编写与执行,那么程序是以每一行为单位运行的,遇到问题就可以进行修改,之前没有问题的代码也不会重新被执行一遍(实际上也可以以任意行为块来运行,当写完一行代码,按shift+enter即可接着编写下一行代码)。优点是可以显示每个变量的属性;缺点是不利于代码的阅读和修改,多用于代码的调试。
  • J u p y t e r \rm Jupyter Jupyter 中,程序可以以任意块运行,块的大小可以自行决定(就和ipynb一样,实际上 P y c h a r m \rm Pycharm Pycharm 中也可以运行.ipynb类型的文件)。优点是利于代码的阅读和修改,缺点是环境需要配置。

总结

  • 本篇文章主要介绍了在使用 P y t o r c h \rm Pytorch Pytorch 之前需要进行的准备工作,包括 c o n d a \rm conda conda C U D A \rm CUDA CUDA 的安装,以及用到的编译器及其各自的特点等内容。

相关文章:

  • 全网最牛自动化测试框架系列之pytest(7)-yield与终结函数
  • JSR303校验(1)
  • Nacos - 支持PostgreSQL
  • CFD网格质量评估标准
  • 网课答案公众号题库系统
  • 详解AVL树(二叉搜索平衡树)【C++实现】
  • 网课答案公众号搭建方法
  • 牛客网练习题(函数部分)
  • 仿everything的文件搜索工具项目详解:Part3
  • React中this.setState方法原理解析(详解)
  • jquary
  • nginx-vts监控模块
  • “刷脸”看健康码的电子哨兵,一旦遭破解,让你无路可走
  • var、let、const声明变量和不用var声明变量的区别
  • 【uni-app系列】uni-ui扩展组件和uViewUI的安装使用
  • 《深入 React 技术栈》
  • 11111111
  • 4个实用的微服务测试策略
  • dva中组件的懒加载
  • Magento 1.x 中文订单打印乱码
  • mongodb--安装和初步使用教程
  • Theano - 导数
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 观察者模式实现非直接耦合
  • 近期前端发展计划
  • 前嗅ForeSpider教程:创建模板
  • 首页查询功能的一次实现过程
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 用jQuery怎么做到前后端分离
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #{}和${}的区别?
  • (1)(1.13) SiK无线电高级配置(五)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (三)终结任务
  • (生成器)yield与(迭代器)generator
  • (十一)图像的罗伯特梯度锐化
  • (四)图像的%2线性拉伸
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转载)(官方)UE4--图像编程----着色器开发
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bat文件调用java类的main方法
  • .net core 6 redis操作类
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Core中的去虚
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .project文件
  • /bin/rm: 参数列表过长"的解决办法
  • [04]Web前端进阶—JS伪数组
  • [20170728]oracle保留字.txt
  • [Angular] 笔记 21:@ViewChild
  • [bzoj2957]楼房重建
  • [EFI]DELL XPS13 9360电脑 Hackintosh 黑苹果efi引导文件