神经网络存储有两种方式,一种是保存整个网络,包括框架和参数,另一种是保存参数,相应的,提取液包括两种方式,一般建议采用保存/提取参数的方式。
import torch
import matplotlib.pyplot as plt
"""生成随机数据"""
x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1) # x轴数据从-1到1,共100个数据,unsqueeze把一维的数据变为2维的数据
y = x.pow(2) + 0.2 * torch.rand(x.size()) # y=x*2,但是还要加上波动
"""保存神经网络"""
def save():
net1 = torch.nn.Sequential( # 快速创建神经网络
torch.nn.Linear(1, 10),
torch.nn.ReLU(),
torch.nn.Linear(10, 1)
)
optimizer = torch.optim.SGD(net1.parameters(), lr=0.5) # 使用优化器优化神经网络参数,lr为学习效率,SGD为随机梯度下降法
loss_func = torch.nn.MSELoss() # 均方差处理回归问题
for t in range(1000): # 循环训练
prediction = net1(x) # 输入x,得到预测值
loss = loss_func(prediction, y) # 计算损失,预测值和真实值的对比
optimizer.zero_grad()

最低0.47元/天 解锁文章

1027

被折叠的 条评论
为什么被折叠?



