pytorch 神经网络搭建的全过程

导入包

import torch
import numpy as np     
from torch.autograd import Variable # torch 中 Variable 模块
import torch.nn.functional as F     #function
import matplotlib.pyplot as plt      #matplotlib
import torch.utils.data as Data     #DataLoader

准备数据



搭建网络架构

  1. 定义一个Class类,并集成pytorch的torch.nn.Module

  2. net = torch.nn.Sequential(

    )


定义损失函数和优化器

cost = torch.nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=0.01, momentum=0.9)

迭代训练

  1. 前向传播
  2. 计算损失
  3. 反向传播并更新权重
for epoch in range(100):
# 3.1 forward pass:
    y_pred = model(inputs)

    # 3.2 compute loss
    loss = cost(y_pred, outputs)

    # 3.3 backward pass
    optimizer.zero_grad();
    loss.backward()
    optimizer.step()
    if ((epoch + 1) % 10 == 0):
        print("epoch{},loss{}".format(epoch + 1, loss.data))

可视化


导出所有参数

 .named_parameters()

导出参数名,参数大小,参数具体数值

for name, param in model.named_parameters():
    print(name, '      ', param.size(), '    ', param)

你可能感兴趣的:(pytorch)