PyTorch学习笔记(一)
这里写目录标题
- 第一章 PyTorch的简介和安装
- △ 软件安装
- ○ 安装系统
- ○ Anaconda的安装
- ○ 查看显卡
- ○ 安装PyTorch
- ○ PyCharm安装
- ○ VSCode安装
- ○ Jupyter Notebook
- △ PyTorch学习资源
- 第二章 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
〇 创建虚拟环境
conda create -n env_name python==version
这里我新建一个叫“PyTorchLearning”的虚拟环境,选择python 3.9版本
conda create -n PyTorchLearning python==3.9
完成之后显示如图
一些操作指令:
安装包
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
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这个文件
打开后将文件里原始内容删除,将下面的内容复制进去并保存。
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/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
我们可以通过conda config --show default_channels检查下是否换源成功,如果出现下图内容,即代表我们换源成功。
这一步完成后,我们需要打开Anaconda Prompt 运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。
○ 查看显卡
有英伟达显卡的电脑需要这一步。
在命令提示符(CMD)中,输入
nvidia-smi
我遇到过安装完显卡驱动之后直接输入这个指令提示无效的情况
这个时候需要在命令提示符窗口中进入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
所以指令为
conda install pytorch torchvision torchaudio cudatoolkit=11.3
他说没找到包,我还是用官网地址试试吧
官网可以,继续
挺大的
还好吧,下的挺快的
好了
〇 检验安装是否成功
在虚拟环境中输入python
然后输入
import torch
torch.cuda.is_available()
返回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
会在浏览器打开如下界面
这些文件夹是当前用户文件夹下的文件夹,如果要改变的话,需要先新建好相应文件夹然后在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
但是报错了
我想了一下,我直接打开jupyter应该是在base环境下运行的,所以要先激活装有PyTorch的环境
conda activate PyTorchLearning
再输入jupyter notebook
但是报错了
看来新环境里并没有安装jupyter notebook
查了下资料
→→→关于 Jupyter Notebook 中 No module named ‘torch‘ 的解决办法
重装一下
在装有pytorch的环境里
conda install ipython
conda install jupyter
就可以了
在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)
〇 指定类型的张量
d = torch.FloatTensor(2,3)
e = torch.IntTensor(2)
f = torch.IntTensor([1,2,3,4])
print(d,'\n',e,'\n',f)
怎么我和视频里不一样。。。
〇 常见的构造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)
※ 注意arange函数的区间是左闭右开
· 张量的基本操作
〇 Tensor和numpy之间的相互转换
import numpy as npg = 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学习笔记(一)相关推荐
- PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call
您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...
- pytorch学习笔记(二):gradien
pytorch学习笔记(二):gradient 2017年01月21日 11:15:45 阅读数:17030
- PyTorch学习笔记(二)——回归
PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...
- pytorch 学习笔记目录
1 部分内容 pytorch笔记 pytorch模型中的parameter与buffer_刘文巾的博客-CSDN博客 pytorch学习笔记 torchnn.ModuleList_刘文巾的博客-CSD ...
- pytorch学习笔记 torchnn.ModuleList
1 nn.ModuleList原理 nn.ModuleList,它是一个储存不同 module,并自动将每个 module 的 parameters 添加到网络之中的容器. 你可以把任意 nn.Mod ...
- 深度学习入门之PyTorch学习笔记:卷积神经网络
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 4 卷积神经网络 4.1 主要任务及起源 4.2 卷积神经网络的原理和结构 4.2.1 卷积层 1. ...
- 深度学习入门之PyTorch学习笔记:多层全连接网络
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 3.1 PyTorch基础 3.2 线性模型 3.2.1 问题介绍 3.2.2 一维线性回归 3.2 ...
- 深度学习入门之PyTorch学习笔记:深度学习框架
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 2.1 深度学习框架介绍 2.1.1 TensorFlow 2.1.2 Caffe 2.1.3 Theano 2.1.4 ...
- 深度学习入门之PyTorch学习笔记:深度学习介绍
深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...
- 深度学习入门之PyTorch学习笔记
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 4 卷积神经网络 5 循环神经网络 6 生成对抗网络 7 深度学习实战 参考资料 绪论 深度学习如今 ...
最新文章
- 在线GPU分布式实验环境+企业级项目,轻松斩获offer
- OGRE 学习小记 开发环境的配置
- 制作模块-制作模块压缩包
- mqtt协议详解_阿里云物联网平台使用心得(七)MQTT协议14个报文总览
- Lotus中关于字符串处理的函数汇总
- 信息学奥赛C++语言: 计算两个数的最大公约数
- CSS开发过程中的20个快速提升技巧
- repo一个新工程使用步骤
- 吾有个怪习惯:看书时经常把ABC结构的词看成ACB
- python第一周练习 货币转换
- Ubuntu16 e1000e驱动安装
- JavaScript使用drag事件
- 【批处理】快速批量修改特定文件夹的文件名
- 微信小程序获取二维码scene报错40129
- spectral学习记录
- GooglePlay马甲包过审详细流程
- 买了xbox的这两年
- 2010年4月13日
- [Unity] 关于Unity Mirror的一点体会
- 普通门禁卡及各类复制卡相关知识