前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >10 行 Python 代码构建你的第一个深度学习模型

10 行 Python 代码构建你的第一个深度学习模型

作者头像
用户7447819
发布2021-07-23 11:33:40
3.6K0
发布2021-07-23 11:33:40
举报
文章被收录于专栏:面试指北面试指北

使用 10 行 Python 代码构建你的第一个深度学习模型

今天的我们的目标是使用最少的代码,实现一个深度学习模型,完成手写数字识别的功能。

1. 使用 TensorFlow 2.0

安装 TensorFlow2.0.

代码语言:javascript
复制
pip install tensorflow==2.0.0-rc0

然后呢,我们需要一个编辑器来写代码,强力推荐 Jupyter Notebook,简单易用方便调试。

代码语言:javascript
复制
$ pip install jupyter notebook

万事具备,只差写代码了。启动编辑器 Jupyter Notebook。

代码语言:javascript
复制
$ jupyter notebook

2. 数据集介绍

MNIST 是一个手写数字数据集,包含 60000 个训练样本,10000 个测试样本。数据内容是手写体的 0-9, 我们接下来的任务是使用 10 行代码实现神经网络,完成数字的识别。

3. 开始动手吧

3.1 导入 tensorflow 库

代码语言:javascript
复制
import tensorflow as tf
print(tf.__version__)

3.2 导入数据集

代码语言:javascript
复制
mnist = tf.keras.datasets.mnist # 导入数据 mnist数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data() # 将数据划分为训练数据和测试数据,其中x_train,x_test 为图像灰度值,y_train,y_test 为数据标签(指定数字具体是哪个)
x_train, x_test = x_train / 255.0, x_test / 255.0 # 输入的数据是图像的灰度值,对其进行归一化处理(灰度的最大值是255除以255)

3.3 分析数据集

代码语言:javascript
复制
x_train.shape # 查看训练数据大小,训练数据总数为60000的28*28图像
(60000, 28, 28)
import matplotlib.pyplot as plt
plt.imshow(x_train[0]) # 查看第一条数据的图像
代码语言:javascript
复制
y_train[0] # 查看第一条数据的标签
5

3.4 定义深度学习模型

代码语言:javascript
复制
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

3.5 训练模型

代码语言:javascript
复制
model.fit(x_train, y_train, epochs=5)
Train on 60000 samples
Epoch 1/5
60000/60000 [==============================] - 5s 76us/sample - loss: 0.2923 - acc: 0.9144
Epoch 2/5
60000/60000 [==============================] - 4s 69us/sample - loss: 0.1389 - acc: 0.9592
Epoch 3/5
60000/60000 [==============================] - 4s 69us/sample - loss: 0.1059 - acc: 0.9681
Epoch 4/5
60000/60000 [==============================] - 4s 69us/sample - loss: 0.0875 - acc: 0.9729
Epoch 5/5
60000/60000 [==============================] - 4s 71us/sample - loss: 0.0747 - acc: 0.9765
10000/10000 - 0s - loss: 0.0780 - acc: 0.9765

3.6. 检验模型

利用之前的测试数据,对手写数字分类模型的效果进行检验。

代码语言:javascript
复制
model.evaluate(x_test,  y_test, verbose=2)
[0.07800268666106276, 0.9765]

结果显示,刚才构建的模型分类准确率为 97.65%。至此你的第一个深度学习模型已经完成。

4. 作者介绍

本人曾就职于海康威视,目前从事数据开发,专注于 Python,人工智能,大数据领域。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 面试指北 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 10 行 Python 代码构建你的第一个深度学习模型
    • 1. 使用 TensorFlow 2.0
      • 2. 数据集介绍
        • 3. 开始动手吧
          • 3.1 导入 tensorflow 库
          • 3.2 导入数据集
          • 3.3 分析数据集
          • 3.4 定义深度学习模型
          • 3.5 训练模型
          • 3.6. 检验模型
        • 4. 作者介绍
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档