当前位置:   article > 正文

Pytorch笔记(1-5)

Pytorch笔记(1-5)

张量

张量可以理解为numpy里面的矩阵,可以进行矩阵的操作

张量初始化

x_data = torch.tensor([[1,2],[2,3]])

模型的建立

首先建立一个单元,在pytorch里面,一个单元就是神经网络的一个节点,前向传播。

一般以一个类定义

  1. class LearnModel(torch.nn.Module):
  2. def __init__(self):
  3. super(LinearModel,self).__init__()# 必须要有
  4. self.linear = torch.nn.Linear(1,1)# 接受两个参数一个是输入数据的维度,一个是输出数据的维度,这个函数就是求出参数w和b再顺便做好相乘加b
  5. def forward(self,x):
  6. y_pred = self.linear(x)# 前向传播
  7. return y_pred

损失函数和参数更新

  1. criterion = torch.nn.MSELoss(size_average = True)
  2. # 损失函数,均方根损失函数,接受两个参数,上面这个为True时求均值
  3. optimizer = torch.optim.SGD(model.parameters(), lr = 0.01)
  4. # 这是一个优化器,就是更新参数的,第一个参数就是你要更新哪些参数,第一个函数可以选择所有的参数,lr就是learn_rate学习率

线性回归

  1. model = LinearModel()
  2. for epoch in range(100):
  3. y_pred = model(x_data) # 前向传播获得y的预测值
  4. loss = criterion(y_pred, y_data) # 求出代价
  5. optimizer.zero_grad() # 清零梯度
  6. loss.backward() # 自动计算梯度
  7. optimizer.step() # 更新w和b的值

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/886319
推荐阅读
相关标签
  

闽ICP备14008679号