【Day3】3h到5h,PyTorch回顾(上)

PyTorch的安装( 学习用CPU也能接收,真正做点事情用GPU)

CPU版本安装:pip install torch1.3.0+cpu torchvision0.4.1+cpu -f https://download.pytorch.org/whl/torch_stable.html

GPU版本安装:pip install torch1.3.0 torchvision0.4.1 -f https://download.pytorch.org/whl/torch_stable

安装
【Day3】3h到5h,PyTorch回顾(上)_第1张图片
安装成功,自己装的是1.6.0的

【基本操作】
tensor跟numpy有很多相似、甚至还能很快的相互转化:
【Day3】3h到5h,PyTorch回顾(上)_第2张图片【Day3】3h到5h,PyTorch回顾(上)_第3张图片
【Day3】3h到5h,PyTorch回顾(上)_第4张图片【Day3】3h到5h,PyTorch回顾(上)_第5张图片
【Day3】3h到5h,PyTorch回顾(上)_第6张图片
【Day3】3h到5h,PyTorch回顾(上)_第7张图片
【Day3】3h到5h,PyTorch回顾(上)_第8张图片
【Day3】3h到5h,PyTorch回顾(上)_第9张图片
view操作跟numpy的reshape差不多
【Day3】3h到5h,PyTorch回顾(上)_第10张图片

【Day3】3h到5h,PyTorch回顾(上)_第11张图片
numpy的nparray和torch的tensor互相转换
【Day3】3h到5h,PyTorch回顾(上)_第12张图片
【自动求导机制】(反向传播全部算好了,这也是“用框架”的好处)
定义一个可求导tensor
需要求导的,进行手动定义
方法1:
【Day3】3h到5h,PyTorch回顾(上)_第13张图片

方法2:(稍微麻烦一丢丢)【Day3】3h到5h,PyTorch回顾(上)_第14张图片

requires_grad= True,表示需要求导
【Day3】3h到5h,PyTorch回顾(上)_第15张图片
【Day3】3h到5h,PyTorch回顾(上)_第16张图片
【Day3】3h到5h,PyTorch回顾(上)_第17张图片
意思就是:z = wx+b
【Day3】3h到5h,PyTorch回顾(上)_第18张图片

进行反向传播:a.backward(),最后一层标志一下,就自动反向传播了。
【Day3】3h到5h,PyTorch回顾(上)_第19张图片
代码重复执行时,如果对梯度不清零,则会默认将梯度累加起来。因此一般要清零!

####################################
线性回归模型

【Day3】3h到5h,PyTorch回顾(上)_第20张图片
x_values=
【Day3】3h到5h,PyTorch回顾(上)_第21张图片
x_train=
【Day3】3h到5h,PyTorch回顾(上)_第22张图片
无论建立多么复杂的模型,都可以把“类”先定义出来:
class Model(nn.Module):
用def 继承过来
简单的线性回归模型的构造:
【Day3】3h到5h,PyTorch回顾(上)_第23张图片
模型
【Day3】3h到5h,PyTorch回顾(上)_第24张图片
发现好像不能截图粘贴了?难道这个有上限??

你可能感兴趣的:(自然语言处理-生成文本,pytorch,深度学习,机器学习)