PyTorch学习笔记(一)

这里写目录标题

  • 第一章 PyTorch的简介和安装
    • △ 软件安装
      • ○ 安装系统
      • ○ Anaconda的安装
      • ○ 查看显卡
      • ○ 安装PyTorch
      • ○ PyCharm安装
      • ○ VSCode安装
      • ○ Jupyter Notebook
    • △ PyTorch学习资源
  • 第二章 PyTorch基础知识
    • △ 张量
      • ○ 张量演示
        • · 创建张量
        • · 张量的基本操作
        • ·


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

下面是教程的b站链接

→→→深入浅出Pytorch

教程的网页版

→→→深入浅出PyTorch

❤ 2022.8.15 ❤

第一章 PyTorch的简介和安装

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

△ 软件安装

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

所以从装系统开始。

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

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

○ 安装系统

根据文章描述先要确定自己的情况
PyTorch学习笔记(一)_第1张图片

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

PyTorch学习笔记(一)_第2张图片

好,先分区
PyTorch学习笔记(一)_第3张图片
然后装win10,我打算先把windows下安装Pytorch捣鼓明白了再搞Linux,所以这里预留出来,以后再装Ubuntu
PyTorch学习笔记(一)_第4张图片
居然出现了蓝屏。。。
PyTorch学习笔记(一)_第5张图片
看来这个电脑确实有点问题,要不我就不管固态了,直接在机械硬盘里安装吧

分区
PyTorch学习笔记(一)_第6张图片
安装之后还是不行。

我查了一下,可能是BIOS中设置的UEFI引导,但是磁盘是MBR格式,但是查看了一下并不是
那可能是两个磁盘都有引导分区,电脑无法识别
我把分区都删了重新建立试试
PyTorch学习笔记(一)_第7张图片

PyTorch学习笔记(一)_第8张图片
果然,可以了
PyTorch学习笔记(一)_第9张图片

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

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

好了,现在正常安装系统到桌面。
PyTorch学习笔记(一)_第10张图片
然后装一些驱动和软件。

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

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

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

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

装了几个软件没问题。

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

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

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

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

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

○ Anaconda的安装

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

在Anaconda的官网

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

PyTorch学习笔记(一)_第11张图片

下载,安装。
PyTorch学习笔记(一)_第12张图片
安装完成,打开这个
PyTorch学习笔记(一)_第13张图片

查看现存虚拟环境

conda evn list

PyTorch学习笔记(一)_第14张图片

创建虚拟环境

conda create -n env_name python==version

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

conda create -n PyTorchLearning python==3.9

PyTorch学习笔记(一)_第15张图片

完成之后显示如图
PyTorch学习笔记(一)_第16张图片

一些操作指令:
安装包
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

PyTorch学习笔记(一)_第17张图片
PyTorch学习笔记(一)_第18张图片

conda换源:

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

conda config --set show_channel_urls yesconda config --set show_channel_urls yes

打开C:\Users\User_name.condarc这个文件
PyTorch学习笔记(一)_第19张图片
PyTorch学习笔记(一)_第20张图片
打开后将文件里原始内容删除,将下面的内容复制进去并保存。

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

PyTorch学习笔记(一)_第21张图片

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

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

○ 查看显卡

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

nvidia-smi

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

执行结果如下
PyTorch学习笔记(一)_第22张图片
可以看到支持CUDA 11.4

驱动版本与CUDA版本对照表
PyTorch学习笔记(一)_第23张图片

○ 安装PyTorch

打开PyTorch官网

→→→https://pytorch.org/

PyTorch学习笔记(一)_第24张图片

Install

PyTorch学习笔记(一)_第25张图片
因为刚刚查看驱动版本支持到CUDA 11.4,所以这里选择11.3吧

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

PyTorch学习笔记(一)_第26张图片

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

conda activate PyTorchLearning

在这里插入图片描述

在这里插入图片描述

所以指令为

conda install pytorch torchvision torchaudio cudatoolkit=11.3

PyTorch学习笔记(一)_第27张图片
他说没找到包,我还是用官网地址试试吧

PyTorch学习笔记(一)_第28张图片
官网可以,继续
PyTorch学习笔记(一)_第29张图片
挺大的

PyTorch学习笔记(一)_第30张图片
还好吧,下的挺快的

好了
PyTorch学习笔记(一)_第31张图片

检验安装是否成功
在虚拟环境中输入python
PyTorch学习笔记(一)_第32张图片

然后输入

import torch
torch.cuda.is_available()

PyTorch学习笔记(一)_第33张图片
返回True,说明安装成功,返回False也说明安装成功,只是不能用CUDA,如果报错了就说明没装成功。

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

○ PyCharm安装

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

下载安装
打开PyCharm官网

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

PyTorch学习笔记(一)_第34张图片

配置环境
打开PyCharm,新建一个工程
PyTorch学习笔记(一)_第35张图片

这里选什么呢?
PyTorch学习笔记(一)_第36张图片

我猜这里应该选conda
PyTorch学习笔记(一)_第37张图片

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

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

○ VSCode安装

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

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

PyTorch学习笔记(一)_第43张图片
下载安装。
下的真慢。。。
用IDM都这么慢。。。
PyTorch学习笔记(一)_第44张图片
在这里插入图片描述
PyTorch学习笔记(一)_第45张图片
至于VSCode怎么配置,我还不太清楚,等以后弄懂了再补上。

○ Jupyter Notebook

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

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

在Anaconda的命令提示符下运行

Jupyter notebook

会在浏览器打开如下界面
PyTorch学习笔记(一)_第46张图片
这些文件夹是当前用户文件夹下的文件夹,如果要改变的话,需要先新建好相应文件夹然后在Anaconda提示符下进入相应文件夹,再运行jupyter notebook

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

新建
PyTorch学习笔记(一)_第47张图片
打开如下编辑界面
PyTorch学习笔记(一)_第48张图片

△ 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:张量

张量是一个统称
PyTorch学习笔记(一)_第49张图片

○ 张量演示

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

import torch

但是报错了
PyTorch学习笔记(一)_第50张图片
我想了一下,我直接打开jupyter应该是在base环境下运行的,所以要先激活装有PyTorch的环境

conda activate PyTorchLearning

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

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

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

conda install ipython
conda install jupyter

就可以了
PyTorch学习笔记(一)_第51张图片
在jupyter中查看tensor的定义
PyTorch学习笔记(一)_第52张图片

· 创建张量

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)

在这里插入图片描述

指定类型的张量

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

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

PyTorch学习笔记(一)_第53张图片
〇 常见的构造tensor的函数
PyTorch学习笔记(一)_第54张图片

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)

PyTorch学习笔记(一)_第55张图片

※ 注意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)

PyTorch学习笔记(一)_第56张图片

·

你可能感兴趣的:(机器学习,PyTorch,PyTorch,机器学习)