C/C++教程

pytorch入门(一)

本文主要是介绍pytorch入门(一),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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,完成训练和优化。

 

这篇关于pytorch入门(一)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!