1.pytorch的基本概念(Tensor和Variable)、自动微分和pyTorch的核心模块。
张量可以理解为一个多维数组,类似于Numpy 中的ndarray对象。
2.三维张量形如[W;H;C] [weight,height,channel]
3.四维张量形如[N,W,H,C] [batch,weight,height,channel]
from PIL import Image import numpy as np import torch import matplotlib.pyplot as plt pytorch=np.array(Image.open("panda.jpg").resize((224,224))) print(pytorch.shape) pytorch_tensor=torch.from_numpy(pytorch) pytorch_tensor.size() plt.imshow(pytorch)
5.神经网络计算优化的过程大体上可以分为前向传播计算损失和反向传播更新梯度。
6.pytorch可以自动微分更新梯度计算
7.reguires_grad默认是False,这个属性在迁移学习中进行模型微调的时候特别有用,因为在迁移学习中我们需要冻结好学习好的参数,而对于需要微调的参数则指定reguires_grad=True。
8.Pytorch中的Tensor对标的是Numpy科学计算库。
9.神经网络前向传播就是一层一层往下计算的意思。
10.神经网络的反向传播是指前向传播完后会得到一个输出结果向量a,通过与真实数据标签y进行对比可以构建损失函数,如常见的均方误差(MSE)损失,由损失函数反向对各层w和b进行求偏导数,进而更新权重参数w和b,完成训练和优化。