tensorflow2.0版的本的一些小的测试与尝试,届时会陆续将代码与新的放到此处。
主要参照tensorflow core给出的教程。
原链接采用这是一个 Google Colaboratory 笔记本文件, jupyter编译工具,我这边使用的pycharm进行实现。
接下来 我们开始快速入门 ,实现步骤为: 加载数据集–构建模型–训练模型–验证模型
下载并安装 TensorFlow 2.0 测试版包。将 TensorFlow 载入你的程序:
from __future__ import absolute_import, division, print_function, unicode_literals
# 安装 TensorFlow
import tensorflow as
载入并准备好 MNIST 数据集。将样本从整数转换为浮点数:(新版的数据集被集成到keras中了,实际使用起来还是很方便的)
mnist = tf.keras.datasets.mnist # 导入数据集
# 使用data_load加载数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
将模型的各层堆叠起来,以搭建 tf.keras.Sequential 模型。为训练选择优化器和损失函数:
# 构建简单模型
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'])
训练并验证模型:
# 训练
model.fit(x_train, y_train, epochs=10)
# 验证
value = model.evaluate(x_test, y_test, verbose=2)
print(value)
如果不考虑模型调优等其它问题,使用tensorflow进行模型开发训练的过程就已经实现了1.0版。
输出结果如下:
57248/60000 [===========================>..] - ETA: 0s - loss: 0.0464 - accuracy: 0.9848
58208/60000 [============================>.] - ETA: 0s - loss: 0.0464 - accuracy: 0.9848
59200/60000 [============================>.] - ETA: 0s - loss: 0.0465 - accuracy: 0.9847
60000/60000 [==============================] - 3s 56us/sample - loss: 0.0463 - accuracy: 0.9848
10000/10000 - 1s - loss: 0.0687 - accuracy: 0.9796
[0.06870598454720457, 0.9796]
这是在10各epoch下,训练结果,手写体数字识别精度,可达97.8%
源码仓库:
gitee:https://gitee.com/aismarter/TensorFlow_Example/blob/master/1.import_TF_modle.py
gthub:https://github.com/Aismarter/TensorFlow_Example/blob/master/1.import_TF_modle.py
该文章的实现真的是非常简单,相关深入的内容,可见后续更新。