思路:首先建立一个数据集用来拟合函数,要拟合函数我们就需要建立一个神经网络,建立好神经网络后,我们再通过训练网络来减小神经网络拟合函数的误差,最后再可视化拟合过程。 建立数据集 我们创建一个一元二次函数:y=a*x^2 + b, 我们给y数据加上一点噪声来更加真实的展示它。 import torch import matplotlib.pyplot as plt #可视化函数库 x = torch.unsqueeze(torch.linspace(-1,1,100), dim=1) y = x.pow(2) + 0.2*torch.rand(x.size()) plt.scatter(x.data.numpy(), y.data.numpy()) plt.show() 函数剖析: torch.linspace(start, end, steps=100, out=None) → Tensor 返回start和end之间长度为steps的一维张量 参数: #start(float) — 点集的起始值 #end(float) — 点集的最终值 #steps(int) — 在start和end间的采样数,即返回多少个数 #out(Tensor, 可选的) — 结果张量 torch.squeeze(input, dim=None, out=None) 将输入张量形状中的1去除并返回