深度学习笔记四:MNIST实战

这篇笔记详细介绍了基于深度学习的MNIST手写体分类任务。首先阐述了任务和数据,包括数据集的结构和读取方式。接着,通过`mnist_loader.py`文件解析数据,并进行适当的预处理,以适应神经网络的输入格式。最后,文章提到了神经网络部分,但未展示具体代码。
摘要由CSDN通过智能技术生成

这里的实战是根据Neural Networks and Deep Learning的前两章整理出来的。用了它提供的数据集以及一些代码。然后自己修改了他的一些代码,使得更加容易理解。

一.任务及数据

就是自己写一个神经网络来实现对于MNIST数据集的手写体分类任务。作者提供了一个数据集,这里就使用作者的数据集。
MNIST数据集
下载下来直接放在工程目录里面就行了。
训练(train) : 50,000
验证(validation): 10,000
测试(test): 10,000
从任务和输入就能够得到大概的网络结构:
这里写图片描述

损失函数为二次误差函数
激活函数为sigmoid函数。

二.读取数据

读取数据由mnist_loader.py这个文件实现。
代码:

# -*- coding: utf-8 -*- 
from __future__ import print_function,division
import pickle
import gzip
import numpy as np

#从数据集中载入数据
def load_data():
    file=gzip.open('mnist.pkl.gz','rb')
    training_data,validation_data,test_data=pickle.load(file)
    file.close()
    return training_data,validation_data,test_data

#改编数据集的格式
def data_wrapper():
    tr_d,va_d,te_d=load_data()
    #训练集
    training_inputs=[np.reshape(x,(784,1)) for x in tr_d[0]]
    training_labels=[vectorized_label(x) for x in tr_d[1]]
    training_data=zip(training_inputs,training_labels)

    #验证集
    validation_inputs=[np.reshape(x,(784,1)) for x in va_d[0]]
    validation
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值