MINIST手写识别(前向传播的python实现)

博客详细介绍了如何使用Python实现MINIST手写数字识别的神经网络模型。内容包括数据集的读取,展示样本图像,神经网络结构的设定(包含输入层、两个隐藏层和输出层),以及权重参数的存储和加载。此外,还讨论了批处理在提高推理效率中的作用。
摘要由CSDN通过智能技术生成

数据集的读取

以“(训练图像,训练标签),(测试图像,测试标签)”的形式读入的MNIST数据

import sys, os 
sys.path.append(os.pardir) # 为了导入父目录中的文件而进行的设定 
from dataset.mnist import load_mnist

(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)
# flatten:设置 是否展开输入图像(变成一维数组)
# normalize:设置是否将输入图像正规化为0.0~1.0的值。如果将该参数设置 为False,则输入图像的像素会保持原来的0~255
# one_hot_label设置是否将标签保存为onehot表示(one-hot representation)。 one-hot表示是仅正确解标签为1,其余 皆为0的数组,就像[0,0,1,0,0,0,0,0,0,0]这样。当one_hot_label为False时, 只是像7、2这样简单保存正确解标签;当one_hot_label为True时,标签则 保存为one-hot表示。
#在学习权重参数时,读数据集标签时需要用onehot格式的标签

显示某个样本图像

import numpy as np 
from PIL import Image             #为了显示图像
img = x_train[0] 
label = t_train[0]
img = img.reshape(28, 28)         #前面读取为一维数组,所以要reshape
def img_show
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值