1. TensorFlow 简介
TensorFlow 2.0 终于发布了,看了介绍之后,发现越来越像Keras了。主要的变化在于:
- eager execution (动态图机制)
- high-level api
- flexible platform
2. 安装TensorFlow
推荐使用anaconda来管理python 版本。
- 安装anaconda
- conda create -n tf2 python=3
- pip install tensorflow==2.0.0-alpha0
3. Get started
我们来看官方提供的一个最基本的图像分类的例子:
代码语言:javascript复制 from __future__ import absolute_import, division, print_function
import tensorflow as tf
# mnist 是一个手写数字集
mnist = tf.keras.datasets.mnist
# 定义训练数据,测试数据
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# x值对应的是图片像素的灰度值,对灰度值进行归一化处理
x_train, x_test = x_train / 255.0, x_test / 255.0
# 使用keras 的序列模型, 定义图片分类模型
model = tf.keras.models.Sequential([
# 28 * 28 的像素点平铺成一维向量
tf.keras.layers.Flatten(input_shape(28, 28))
# 使用致密层压缩,然后使用relu函数激活,增加非线性
tf.keras.layers.Dense(128, activation='relu')
# 使用Droupout 删掉20% 的节点,避免过拟合
tf.keras.layers.Dropout(0.2)
# 使用致密层压缩成10 类(数字0-9)。
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型, 定义优化方法,损失函数,以及关注的指标
model.compile(optimizer='adam',
loss='sparse_categorical_crosstropy',
metrics=['accuracy'])
# 训练模型, 共5个轮次
model.fit(x_train, y_train, epochs=5)
# 验证模型
model.evaluate(x_test, y_test)
测试下来,分类的正确率在98%左右。
对比下来,TensorFlow 2.0 更容易上手了,与keras无缝集成,省略了很多繁琐的步骤。