美文网首页
2.nn.module的使用

2.nn.module的使用

作者: 三角绿毛怪 | 来源:发表于2020-10-14 13:41 被阅读0次
import torch
from torch import nn
from torch import optim#优化器类
# 1. torch.optim.SGD(参数,学习率)
# 2. torch.optim.Adam(参数,学习率)
import numpy as np
from matplotlib import pyplot as plt

# 1. 定义数据
x = torch.rand([50, 1])
y = x * 3 + 0.8


# 2 .定义模型
class Lr(nn.Module):
    def __init__(self):
        #__init__需要调用super方法,继承父类的属性和方法
        super(Lr, self).__init__()
        #nn.Linear()为全链接层,参数分别是输入的数量和输出的数量
        self.linear = nn.Linear(1, 1)

    def forward(self, x):
        #前向传播的过程
        #实际上是Lr的实例,将x传入,用里面的forward方法传入参数,得到输出
        out = self.linear(x)
        return out


# 2. 实例化模型,loss,和优化器
model = Lr()
#定义损失函数
criterion = nn.MSELoss()
#定义优化的方法为随机梯度下降,学习率为1e-3
optimizer = optim.SGD(model.parameters(), lr=1e-3)
# 3. 训练模型
for i in range(20000):
    #这里的四个步骤是优化类的使用方法
    out = model(x)  # 3.1 获取预测值
    loss = criterion(y, out)  # 3.2 计算损失
    optimizer.zero_grad()  # 3.3 梯度归零
    loss.backward()  # 3.4 计算梯度
    optimizer.step()  # 3.5 更新梯度
    if (i + 1) % 2000 == 0:
        print('Epoch[{}/{}], loss: {:.6f}'.format(i, 30000, loss.data))


相关文章

  • 2.nn.module的使用

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

  • %in% 的使用

    写在前面:From 生信技能书向量难点之一:%in% 难点 (1)== 与 %in% 的区别== 强调位置,x和对...

网友评论

      本文标题:2.nn.module的使用

      本文链接:https://www.haomeiwen.com/subject/yuxwpktx.html