矩池云 | 搭建浅层神经网络"Hello world"

本文通过TensorFlow构建一个简单的神经网络,处理MNIST数据集,包括数据预处理、数据可视化、模型构建、训练及优化。介绍了ReLU和softmax激活函数,并提供了训练过程的精度和学习率变化图表。
摘要由CSDN通过智能技术生成

作为图像识别与机器视觉界的 “hello world!” ,
MNIST (“Modified National Institute of Standards and Technology”)
数据集有着举足轻重的地位。基本上每本人工智能、机器学习相关的书上都以它作为开始。

下面我们会用 TensorFlow 搭建一个浅层的神经网络来运行 “hello world!” 模型。 以下内容和模块的运算,均在矩池云平台进行。

本次教程分五步:

第一步:数据预处理,包括提取数据标签、查看图片数据、数据可视化、查看数据是否平衡等

第二步:数据加载,打乱数据集

第三步:构建模型,简单介绍网络卷积模型和激活函数,定义训练函数和学习率

第四步:模型训练,查看训练过程和结果,使用图表查看模型精确度和学习率变化

第五步:尝试提升精准度,不断探索和优化

在搭建开始前,我们需要加载以下对应的模块:

第一步:数据预处理

1.1查看数据标签

在任何模型建立之前,应当优先查看数据的情况。例如数据集的大小、训练集和测试集的数据数量、标签的数据数量分布等。
下方为训练集和测试集的数据查看代码:

train = pd.read_csv('mnist/mnist_train.csv') # read train
test = pd.read_csv('mnist/mnist_test.csv') # read train

下方为训练集和测试集的数量结果:

train.shape   (6000,785)
test.shape    (10000,785)

我们可以看到 train 训练集里面有6000条数据,test 测试集里面有10000条数据,两个测试集每行都有785个数据。

接下来,我们来看下数据集的预览:其中第一列是标签列,剩余784列则为像素点数据,由该784列数据组成一张28*28的像素图片。

1.2 提取数据标签

接下来,我们进行数据标签的提取和处理。先来看下标签数据的提取代码:

train_labels = np.array(train.pop('label'))
test_labels = np.array(test.pop('label'))

查看标签种类,我们可以看出标签表示了从0~9的数字,没有其他的错误数据。

由于运算需要,我们需要将一维的图片数据转换成二维图片数据。将图片数据转换成长28,宽28,通道为1的格式,方便卷积计算。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值