【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤

Tensor

Tensor——Shape of Tensors

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第1张图片
一维的tensor是一个张量
二维的tensor是一个矩阵
三维的tensor是一个立方体
三个维度的下标分别是0, 1,2

Tensor——Constructor

如何产生tensor?

  • 从一个list或者Numpy的数组产生
    【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第2张图片
  • 产生一个全为0的tensor
    【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第3张图片
  • 产生一个全为1 的tensor
    【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第4张图片

!!!注意,传递的参数是每一个维度的shape

Tensor——Operators

Squeeze:把某个维度去掉

dim=0的维度去掉
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第5张图片
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第6张图片

Unsequeeze:增加一个新的维度

dim=1增加一个维度,shape=1
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第7张图片
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第8张图片

Transpose:将两个维度翻转

很像矩阵的转置
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第9张图片

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第10张图片

Cat:按照指定的dim把几个tensor拼接在一起

前提是其他几个维度是相同的,不然就会报错
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第11张图片
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第12张图片

关于torch更多的操作,可以查看这里:torch

对一个tensor计算梯度

设置参数required_grad=True
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第13张图片

tensor.nn——neural network

  • 基本的网络都在torch,nn里
    比如全连接层Linear Layer
nn.Linear(in_features, out_features)

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第14张图片
全连接层有两个参数w和b
w的shape用layer.weight.shape查看
b的shape用layer.bisa.shape查看
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第15张图片
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第16张图片

  • 还有一些常用的激活函数
nn.Sigmoid()
nn.ReLU()
  • 还有一些常用的损失函数
nn.MSELoss()
nn.CrossEntropyLoss()
  • 最重要的就是nn.Module
    一般写自己的model,都是写一个类继承nn.Mudle

tensor.optim

  • 常用的梯度更新
torch.optim.SGD(params, lr, momentum=0)
#params=model.parameters()

Nrural Network Training

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第17张图片
【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第18张图片

Neural Network Evaluation(Validation Set)

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第19张图片

Neural Network Evaluation(Testing Set)

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第20张图片

Save/Load Neural Network

【李宏毅】pytorch深度学习——几个基本操作和一般训练验证测试的步骤_第21张图片

你可能感兴趣的:(pytroch,深度学习,pytorch,python)