一、源代码
import torch
from torch.autograd import Variable
import torch.nn.functional as F
import matplotlib.pyplot as plt
# torch.manual_seed(1) # reproducible
x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data (tensor), shape=(100, 1) 把一维数据变为二维。[1,2]->[[1,2]]
y = x.pow(2) + 0.2*torch.rand(x.size()) # noisy y data (tensor), shape=(100, 1) x^2+0.2*(0-1随机数)
x, y = Variable(x), Variable(y) #转成Variable
class Net(torch.nn.Module):
def __init__(self, n_feature, n_hidden, n_output):
super(Net, self).__init__() #调用父类的init方法
self.hidden = torch.nn.Linear(n_feature, n_hidden) # hidden layer output
self.predict = torch.nn.Linear(n_hidden, n_output) # output layer
def forward(self, x): #x是输入的data
x = F.relu(self.hidden(x)) # activation function for( hidden layer out)
x = self.predict(x) # linear output
ret