zoukankan      html  css  js  c++  java
  • 【pytorch】简单的线性回归

    pytorch版本0.4.0

    import torch
    from torch.autograd import Variable
    
    # train data
    x_data = Variable(torch.Tensor([[1.0], [2.0], [3.0]]))
    y_data = Variable(torch.Tensor([[2.0], [4.0], [6.0]]))
    
    class Model(torch.nn.Module):
        def __init__(self):
            super(Model, self).__init__()
            self.linear = torch.nn.Linear(1, 1) # One in and one out
    
        def forward(self, x):
            y_pred = self.linear(x)
            return y_pred
    
    # our model
    model = Model()
    
    criterion = torch.nn.MSELoss(reduction="sum") # Defined loss function
    optimizer = torch.optim.SGD(model.parameters(), lr=0.01) # Defined optimizer
    
    # Training: forward, loss, backward, step
    # Training loop
    for epoch in range(500):
        # Forward pass
        y_pred = model(x_data)
    
        # Compute loss
        loss = criterion(y_pred, y_data)
        print(epoch, loss.item())
    
        # Zero gradients
        optimizer.zero_grad()
        # perform backward pass
        loss.backward()
        # update weights
        optimizer.step()
    
    # After training
    hour_var = Variable(torch.Tensor([[4.0]]))
    print("predict (after training)", 4, model.forward(hour_var).data[0][0])

    运行结果:

  • 相关阅读:
    day 16
    day 15
    day 14
    day 13
    Unity Shader UnityCG.cginc
    Unity Shader 包含内置文件
    Unity Shader 如何使用属性
    Unity Shader 顶点/片元着色器的基本结构
    Unity Shader 的基础结构
    git文件名大小敏感
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12620259.html
Copyright © 2011-2022 走看看