1. Learn
  2. /
  3. 课程
  4. /
  5. Python 深度学习入门

Connected

道练习

构建您自己的手写数字识别模型

您已经来到本课程的最后一个练习——现在您具备了构建准确手写数字识别模型所需的一切!

我们已经按照视频演示完成了对 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 在图像方向的应用。

说明

100 XP
  • 创建一个 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。