前馈神经网络模型实现
目录
1 前馈神经网络原理
2 算法步骤
上面的模型内容很丰富,属于过目就忘的那种。。。。
个人认为还是直接上手项目会好点。
- 算法步骤:
3 案例实现
import torch
import torch.nn as nn
import torchvision.datasets as dsets #torchvision为一个做图形处理的库,加载数据集
import torchvision.transforms as transforms
'''
torchvision.datasets这个包中包含MNIST、FakeData、COCO、LSUN、ImageFolder、DatasetFolder、ImageNet、CIFAR等一些常用的数据集,并且提供了数据集设置的一些重要参数设置,可以通过简单数据集设置来进行数据集的调用。从这些数据集中我们也可以看出数据集设置的主要变量有哪些并且有什么功能对将来自己数据集的设置也有极大的帮助。
以上数据集的接口基本上很相近。它们至少包括两个公共的参数transform和target_transform,以便分别对输入和和目标做变换
'''
from torch.autograd import Variable
#torch.autograd提供了类和函数用来对任意标量函数进行求导。
import torch.utils.data as Data
#我们需要使用torch.utils.data.DataLoader加载数据
import matplotlib.pyplot as plt
#画图所需的库
# Hyper Parameters 超参数(hyperparameters)/算法参数 根据经验进行设定,影响到权重和偏置的大小,比如迭代次数、隐藏层的层数、每层神经元的个数、学习速率等
input_size = 784
hidden_size = 500
num_classes = 10
num_epochs = 5
batch_size = 100
learning_rate = 0.001
# MNIST Dataset 数据集
train_dataset = dsets.MNIST(root='./data', #指定数据集的目录
train=True,
transform=transforms.ToTensor(),
# transforms.ToTensor() 将numpy的ndarray或PIL.Image读的图片转换成形状为(C,H, W)的Tensor格式,且/255归一化到[0,1.0]之间
download=True)
test_dataset = dsets.MNIST(</