• PyTorch学习笔记(一)



    又开了个新坑,希望能慢慢填上。。。
    继吃瓜教程之后,我在dataWhale家又报名了深入浅出Pytorch入门这个课程,希望能在学习理论的同时做一些实践性的工作。

    下面是教程的b站链接

    →→→深入浅出Pytorch

    教程的网页版

    →→→深入浅出PyTorch

    ❤ 2022.8.15 ❤

    第一章 PyTorch的简介和安装

    简介就不说了,直接安装。

    △ 软件安装

    开发环境分为windows和linux,我准备给装个双系统,然后专门用来做机器学习相关的工作。

    所以从装系统开始。

    我找到了这篇文章对于如何安装双系统有详细的讲解

    →→→windows10安装ubuntu双系统教程(绝对史上最详细)

    ○ 安装系统

    根据文章描述先要确定自己的情况
    在这里插入图片描述

    我属于情况 D UEFI新式bios+双硬盘(SSD固态硬盘+机械硬盘)
    于是按照文章的提示

    在这里插入图片描述

    好,先分区
    在这里插入图片描述
    然后装win10,我打算先把windows下安装Pytorch捣鼓明白了再搞Linux,所以这里预留出来,以后再装Ubuntu
    在这里插入图片描述
    居然出现了蓝屏。。。
    在这里插入图片描述
    看来这个电脑确实有点问题,要不我就不管固态了,直接在机械硬盘里安装吧

    分区
    在这里插入图片描述
    安装之后还是不行。

    我查了一下,可能是BIOS中设置的UEFI引导,但是磁盘是MBR格式,但是查看了一下并不是
    那可能是两个磁盘都有引导分区,电脑无法识别
    我把分区都删了重新建立试试
    在这里插入图片描述

    在这里插入图片描述
    果然,可以了
    在这里插入图片描述

    总结一下,这个电脑之前被人重装过系统,本来原装系统装在固态硬盘里面,但是别人重装系统的时候,因为对电脑不了解,于是装在了机械硬盘里,但是却没有删除固态硬盘里的引导信息。
    然后我重装的时候又在固态里面装了一遍,于是就变成了固态硬盘和机械硬盘都有引导信息,于是启动的时候系统没发判断从哪里启动,就出问题了。

    不过这次我在固态硬盘中预留了一些空间,以后装ubuntu的话应该也可以

    好了,现在正常安装系统到桌面。
    在这里插入图片描述
    然后装一些驱动和软件。

    糟糕!还是蓝屏!
    看来问题比我想象的更严重。。。
    虽然已经不属于安装Pytorch的问题了,但是我依然得试着去解决

    现在怀疑的问题来源有:
    硬件问题
    驱动问题(因为有两次都是在用驱动精灵安装驱动后发生的蓝屏)
    系统镜像问题

    首先用最经典的“最小系统法”,只安装能让系统正常启动的最少的硬件,然后换一款别的硬盘,重装系统。。。

    重装系统后先不着急装驱动,安装几个常用软件试试

    装了几个软件没问题。

    又用驱动精灵装了几个提示有问题的驱动,没问题。

    第二条内存装上,没问题。

    然后装上显卡,用驱动精灵装驱动,没问题。

    总结一下,我觉得问题应该是机械硬盘的原因,我在拆硬盘的时候硬盘特别烫,估计蓝屏是因为刚开始硬盘没有那么热,所以可以正常用,但是一到装软件的时候硬盘温度上来,就开始不断蓝屏死机。

    好吧,折腾了一天,终于破案了,下面开始正常装Pytorch吧。

    ○ Anaconda的安装

    根据视频的介绍,Anaconda的作用大概就是能建立好几个独立的环境配置用来完成不同的工作,之间互不影响,并且继承了很多实用的package,安装使用很方便。

    在Anaconda的官网

    →→→https://www.anaconda.com/

    在这里插入图片描述

    下载,安装。

    安装完成,打开这个
    在这里插入图片描述

    查看现存虚拟环境

    conda evn list
    
    • 1

    在这里插入图片描述

    创建虚拟环境

    conda create -n env_name python==version
    
    • 1

    这里我新建一个叫“PyTorchLearning”的虚拟环境,选择python 3.9版本

    conda create -n PyTorchLearning python==3.9
    
    • 1

    在这里插入图片描述

    完成之后显示如图
    在这里插入图片描述

    一些操作指令:
    安装包
    conda install package_name
    卸载包
    conda remove package_name
    显示所有安装的包
    conda list
    删除虚拟环境命令
    conda remove -n env_name --all
    激活环境命令
    conda activate env_name
    退出当前环境
    conda deactivate

    更多指令可见官网
    →→→Command reference

    换源
    PIP换源:
    我就直接贴了,因为目前都是在windows下操作,所以就只贴windows的了

    1、文件管理器文件路径地址栏敲:%APPDATA% 回车,快速进入 C:\Users\电脑用户\AppData\Roaming 文件夹中
    2、新建 pip 文件夹并在文件夹中新建 pip.ini 配置文件
    3、我们需要在pip.ini 配置文件内容,我们可以选择使用记事本打开,输入以下内容,并按下ctrl+s保存,在这里我们使用的是豆瓣源为例子。

    [global]
    index-url = http://pypi.douban.com/simple
    [install]
    use-mirrors =true
    mirrors =http://pypi.douban.com/simple/
    trusted-host =pypi.douban.com
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    在这里插入图片描述

    conda换源:

    Windows 用户无法直接创建名为 .condarc 的文件,可先执行conda config --set show_channel_urls yes生成该文件之后再修改。

    conda config --set show_channel_urls yesconda config --set show_channel_urls yes
    
    • 1

    打开C:\Users\User_name.condarc这个文件
    在这里插入图片描述
    在这里插入图片描述
    打开后将文件里原始内容删除,将下面的内容复制进去并保存。

    channels:
      - defaults
    show_channel_urls: true
    default_channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
    custom_channels:
      conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
      simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    我们可以通过conda config --show default_channels检查下是否换源成功,如果出现下图内容,即代表我们换源成功。
    在这里插入图片描述

    这一步完成后,我们需要打开Anaconda Prompt 运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。

    ○ 查看显卡

    有英伟达显卡的电脑需要这一步。
    在命令提示符(CMD)中,输入

    nvidia-smi
    
    • 1

    我遇到过安装完显卡驱动之后直接输入这个指令提示无效的情况
    在这里插入图片描述
    这个时候需要在命令提示符窗口中进入C:\Program Files\NVIDIA Corporation目录,然后再执行该命令

    执行结果如下
    在这里插入图片描述
    可以看到支持CUDA 11.4

    驱动版本与CUDA版本对照表
    在这里插入图片描述

    ○ 安装PyTorch

    打开PyTorch官网

    →→→https://pytorch.org/

    在这里插入图片描述

    Install

    在这里插入图片描述
    因为刚刚查看驱动版本支持到CUDA 11.4,所以这里选择11.3吧

    根据网页提示,安装指令是
    conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

    在这里插入图片描述

    在线下载
    为了方便,或者说偷懒,这里用在线下载的方式。
    先要用conda activate env_name激活虚拟环境

    conda activate PyTorchLearning
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    所以指令为

    conda install pytorch torchvision torchaudio cudatoolkit=11.3
    
    • 1

    在这里插入图片描述
    他说没找到包,我还是用官网地址试试吧

    在这里插入图片描述
    官网可以,继续
    在这里插入图片描述
    挺大的

    在这里插入图片描述
    还好吧,下的挺快的

    好了
    在这里插入图片描述

    检验安装是否成功
    在虚拟环境中输入python
    在这里插入图片描述

    然后输入

    import torch
    torch.cuda.is_available()
    
    • 1
    • 2

    在这里插入图片描述
    返回True,说明安装成功,返回False也说明安装成功,只是不能用CUDA,如果报错了就说明没装成功。

    PyTorch安装完毕,虽然电脑出了一些问题,但是软件安装的还挺顺利的。

    PyCharm安装

    PyCharm和VSCode我也不知道哪个好用,就都装了吧。

    下载安装
    打开PyCharm官网

    →→→https://www.jetbrains.com/pycharm/

    在这里插入图片描述

    配置环境
    打开PyCharm,新建一个工程
    在这里插入图片描述

    这里选什么呢?
    在这里插入图片描述

    我猜这里应该选conda
    在这里插入图片描述

    这里大概是选择**_conda.exe这个文件
    在这里插入图片描述
    然后create
    来到主界面
    在这里插入图片描述
    配置过程:
    file→setting。。。
    在这里插入图片描述
    Project:你的项目名称→Python Interpreter
    在这里插入图片描述
    这个是默认环境,选择
    Add Interpreter→Add Local Interpreter**
    在这里插入图片描述
    在这里插入图片描述
    点击Conda Environment ,将Interpreter设置为PyTorchLearning环境下的python.exe
    在这里插入图片描述

    注:如果在pycharm的环境时,想进入我们的虚拟环境,要使用conda activate 名称
    ※ 这句话我没太理解,是在PyCharm里面输入,还是在conda的命令行里输入?

    ○ VSCode安装

    听说VSCode可以远程调试,这不正是我想要的么!
    打开VSCode官网

    →→→https://code.visualstudio.com/

    在这里插入图片描述
    下载安装。
    下的真慢。。。
    用IDM都这么慢。。。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    至于VSCode怎么配置,我还不太清楚,等以后弄懂了再补上。

    ○ Jupyter Notebook

    这是个web软件,在文本教程里面没有提到,但是在视频讲解里面主讲人用它来演示,我查了些资料,其实这个软件会随Anaconda一起安装,只要直接运行就可以了。

    →→→史上最详细、最完全的jupyter notebook使用教程,Python使用者必备!

    在Anaconda的命令提示符下运行

    Jupyter notebook
    
    • 1

    会在浏览器打开如下界面
    在这里插入图片描述
    这些文件夹是当前用户文件夹下的文件夹,如果要改变的话,需要先新建好相应文件夹然后在Anaconda提示符下进入相应文件夹,再运行jupyter notebook

    ※ 注意退出的时候要点击Quit,不要直接关闭网页

    新建
    在这里插入图片描述
    打开如下编辑界面
    在这里插入图片描述

    △ PyTorch学习资源

    Awesome-pytorch-list:目前已获12K Star,包含了NLP,CV,常见库,论文实现以及Pytorch的其他项目。

    →→→Awesome-pytorch-list

    PyTorch官方文档:官方发布的文档,十分丰富。

    →→→PyTorch官方文档

    Pytorch-handbook:GitHub上已经收获14.8K,pytorch手中书。

    →→→Pytorch-handbook

    PyTorch官方社区:PyTorch拥有一个活跃的社区,在这里你可以和开发pytorch的人们进行交流。

    →→→PyTorch官方社区

    PyTorch官方tutorials:官方编写的tutorials,可以结合colab边动手边学习

    →→→PyTorch官方tutorials

    动手学深度学习:动手学深度学习是由李沐老师主讲的一门深度学习入门课,拥有成熟的书籍资源和课程资源,在B站,Youtube均有回放。

    →→→动手学深度学习

    Awesome-PyTorch-Chinese:常见的中文优质PyTorch资源

    →→→Awesome-PyTorch-Chinese

    ❤ 2022.8.18 ❤

    第二章 PyTorch基础知识

    △ 张量

    在这里插入图片描述
    scalar:标量
    vector:向量
    matrix:矩阵
    tensor:张量

    张量是一个统称
    在这里插入图片描述

    ○ 张量演示

    使用Jupyter Notebook
    首先打开Anaconda prompt,输入jupyter notebook打开网页程序,然后输入

    import torch
    
    • 1

    但是报错了
    在这里插入图片描述
    我想了一下,我直接打开jupyter应该是在base环境下运行的,所以要先激活装有PyTorch的环境

    conda activate PyTorchLearning
    
    • 1

    再输入jupyter notebook
    但是报错了
    在这里插入图片描述
    看来新环境里并没有安装jupyter notebook
    查了下资料

    →→→关于 Jupyter Notebook 中 No module named ‘torch‘ 的解决办法

    重装一下
    在装有pytorch的环境里

    conda install ipython
    conda install jupyter
    
    • 1
    • 2

    就可以了
    在这里插入图片描述
    在jupyter中查看tensor的定义
    在这里插入图片描述

    · 创建张量

    tensor(data, *, dtype=none, device=None,requires_grad=false, pin_memory=False)
    参数定义:
    data:张量里面的量
    *:一些其他的量
    dtype:张量的类型
    device:运算设备(下一讲再讲)
    equires_grad:是否允许求导
    pin_memory:是否放到内存中(空间换时间)

    最基本的张量

    a = torch.tensor(1.0, dtype=torch.float)
    b = torch.tensor(1, dtype=torch.long)
    c = torch.tensor(1.0, dtype=torch.int8)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    指定类型的张量

    d = torch.FloatTensor(2,3)
    e = torch.IntTensor(2)
    f = torch.IntTensor([1,2,3,4])
    print(d,'\n',e,'\n',f)
    
    • 1
    • 2
    • 3
    • 4

    怎么我和视频里不一样。。。
    在这里插入图片描述

    在这里插入图片描述
    〇 常见的构造tensor的函数
    在这里插入图片描述

    k = torch.rand(2,3)
    l = torch.ones(2,3)
    m = torch.zeros(2,3)
    n = torch.arange(0,10,2)
    print(k,'\n',l,'\n',m,'\n',n)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    ※ 注意arange函数的区间是左闭右开

    · 张量的基本操作

    Tensor和numpy之间的相互转换

    import numpy as np
    
    g = np.array([[1,2,3],[4,5,6]])
    h = torch.tensor(g)
    print(h)
    i = torch.from_numpy(g)
    j = h.numpy()
    print(j)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    ·
  • 相关阅读:
    一文带你弄懂 CDN 技术的原理
    _Linux 静态库
    0825(039天 集合框架04 队列、集合)
    问卷设计中的常见问题
    Milvus 简介与核心特性
    Ps:PSDT 模板文件
    基于JavaSwing开发打飞鸟游戏 课程设计 大作业 毕业设计
    PyCharm及Python3.10.5安装配置教程
    ipv6一致性-NDP测试
    在阿里云的函数计算上部署
  • 原文地址:https://blog.csdn.net/ooorczgc/article/details/126355318