构建您自己的手写数字识别模型
您已经来到本课程的最后一个练习——现在您具备了构建准确手写数字识别模型所需的一切!
我们已经按照视频演示完成了对 MNIST 数据集的基础处理,因此 X 和 y 已加载完毕,可以直接建模。来自 tensorflow.keras 的 Sequential 和 Dense 也已预先导入。
为增加一点挑战,我们只加载了 2500 张图像,而不是一些发表结果中使用的 60000 张。深度学习模型在数据更多时通常表现更好,但训练也会更耗时,尤其是当模型变得更复杂时。
如果您的计算机配有兼容 CUDA 的 GPU,您可以利用它来缩短计算时间。即使没有 GPU 也没问题!您可以在云端搭建深度学习环境,让模型在 GPU 上运行。这里有 Dan 撰写的一篇博客文章讲解如何操作——完成本练习后不妨读一读!在您继续深度学习之旅时,这是一个很好的下一步。
准备把深度学习提升到新水平了吗?来看看 Advanced Deep Learning with Keras,了解 Keras 函数式 API 如何帮助您积累领域知识,解决新类型的问题。掌握函数式 API 之后,再看一看 Image Processing with Keras in Python,学习 Keras 在图像方向的应用。
本练习是课程的一部分
Python 深度学习入门
练习说明
- 创建一个
Sequential对象作为模型起点,命名为model。 - 向模型添加第一个包含
50个单元、激活函数为'relu'的Dense隐藏层。对于本数据,input_shape为(784,)。 - 添加第二个
Dense隐藏层,包含50个单元,并使用'relu'激活函数。 - 添加输出层。激活函数应为
'softmax',该层的节点数应与可能的输出类别数相同:10。 - 按照之前模型的方式编译
model:optimizer使用'adam',loss使用'categorical_crossentropy',并设置metrics=['accuracy']。 - 使用
X和y拟合模型,validation_split设为0.3,训练10个 epoch。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create the model: model
model = ____
# Add the first hidden layer
____
# Add the second hidden layer
____
# Add the output layer
____
# Compile the model
____
# Fit the model
____