tensorflow2.0 代码实例
时间: 2023-10-11 15:11:57 浏览: 96
以下是一个简单的 TensorFlow 2.0 代码示例,用于训练一个简单的神经网络来分类 MNIST 数据集中的手写数字:
```python
import tensorflow as tf
from tensorflow import keras
# 加载 MNIST 数据集
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# 将像素值缩放到 0-1 之间
train_images = train_images / 255.0
test_images = test_images / 255.0
# 定义神经网络模型
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10)
])
# 编译模型,指定损失函数、优化器和评估指标
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
model.fit(train_images, train_labels, epochs=10)
# 评估模型
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nTest accuracy:', test_acc)
```
这个模型包含一个输入层、一个隐藏层和一个输出层。输入层是一个 28x28 的图像,通过 `Flatten` 层展开成一个 784 维的向量。隐藏层包含 128 个神经元,使用 ReLU 激活函数。输出层有 10 个神经元,对应于 0-9 的十个数字。模型使用 Adam 优化器和交叉熵损失函数进行训练。在训练过程中,模型将数据集中的每个样本看作一个独立的训练样本,将数据集迭代多次,每次更新模型的参数。最后,我们评估模型的准确性,使用测试集中的图像和标签来评估模型的性能。
阅读全文