TensorFlow 神经网络案例解析 🧠
本文将介绍几个 TensorFlow 神经网络的应用案例,帮助您更好地理解神经网络在实际问题中的应用。
案例一:手写数字识别
使用 TensorFlow 的 MNIST 数据集,我们可以训练一个神经网络来识别手写数字。
导入库
import tensorflow as tf
加载数据
mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data()
预处理数据
x_train, x_test = x_train / 255.0, x_test / 255.0
构建模型
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) ])
编译模型
model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
训练模型
model.fit(x_train, y_train, epochs=5)
评估模型
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2) print('\nTest accuracy:', test_acc)
案例二:图像分类
使用 TensorFlow 的 CIFAR-10 数据集,我们可以训练一个神经网络来对图像进行分类。
导入库
import tensorflow as tf
加载数据
cifar10 = tf.keras.datasets.cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data()
预处理数据
x_train, x_test = x_train / 255.0, x_test / 255.0
构建模型
model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Conv2D(64, (3, 3), activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), tf.keras.layers.Conv2D(64, (3, 3), activation='relu'), tf.keras.layers.Flatten(), tf.keras.layers.Dense(64, activation='relu'), tf.keras.layers.Dense(10) ])
编译模型
model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
训练模型
model.fit(x_train, y_train, epochs=10)
评估模型
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2) print('\nTest accuracy:', test_acc)
更多 TensorFlow 神经网络案例,请访问本站 TensorFlow 神经网络教程。
TensorFlow Logo