pytorch 搭建神经网络

基本搭建

import torch

class Net(torch.nn.Module):                         # net继承module模块
    def __init__(self,in_features,in_hidden,in_output):     # __init__搭建这些层需要的信息
        super(Net,self).__init__()                           # 官方步骤
        self.hidden = torch.nn.Linear(in_features, in_hidden, in_output)      # 隐藏层的神经元个数。。。
        self.predict = torch.nn.Linear(in_hidden, in_output)                  # 预测层

    def forward(self,x):                               # forward 神经网络前向传递的过程,前面搭的流程图在这里实现。真正的搭建过程。x:输入信息
        x = F.relu(self.hidden(x))                     # 激活信息
        x = self.predict(x)
        return x

#搭建完就开始定义我们的Net
net = Net(1,10,1)
print(net)

print出来的样子:
在这里插入图片描述
优化我们的神经网络

# 优化神经网络,所以就要传入我们的参数
optimizer = torch.optim.SGD(net.parameters(),lr=0.5)
loss_func = torch.nn.MSELoss()

for t in range(100):
    prediction = net(x)

    loss = loss_func(prediction,y)

    optimizer.zero_grad() #梯度清零,防爆炸(因为每一次计算梯度都会保留在net里面)
    loss.backward()       #反向传递,计算其节点梯度
    optimizer.step()      #优化我的梯度
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值