本系列笔记为莫烦PyTorch视频教程笔记 github源码
import torch
from torch.autograd import Variable
import torch.nn.functional as F # activation function
import matplotlib.pyplot as plt
% matplotlib inline
建立数据集
我们创建一些假数据来模拟真实的情况. 比如一个一元二次函数: y = a * x^2 + b, 我们给 y 数据加上一点噪声来更加真实的展示它.
x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x data(tensor), shape(100,1)
y = x.pow(2) + 0.2*torch.rand(x.size()) # rand [0,1) 为添加噪声
# 用 Variable 来修饰这些数据 tensor
x, y = Variable(x), Variable(y)
# 画图
plt.scatter(x.data.numpy(), y.data.numpy()) # 散点图
plt.show()
建立神经网络
建立一个神经网络可以直接运用 torch 中的体系。先定义所有的层属性(init()),然后一层层搭建(forward(x))层与层的关系连接(前向传播)
- 注1:torch.nn.Linear.init 分别定义parameters(