TensorFlow 神经网络案例解析 🧠

本文将介绍几个 TensorFlow 神经网络的应用案例,帮助您更好地理解神经网络在实际问题中的应用。

案例一:手写数字识别

使用 TensorFlow 的 MNIST 数据集,我们可以训练一个神经网络来识别手写数字。

  1. 导入库

    import tensorflow as tf
    
  2. 加载数据

    mnist = tf.keras.datasets.mnist
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    
  3. 预处理数据

    x_train, x_test = x_train / 255.0, x_test / 255.0
    
  4. 构建模型

    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)
    ])
    
  5. 编译模型

    model.compile(optimizer='adam',
                  loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
                  metrics=['accuracy'])
    
  6. 训练模型

    model.fit(x_train, y_train, epochs=5)
    
  7. 评估模型

    test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
    print('\nTest accuracy:', test_acc)
    

案例二:图像分类

使用 TensorFlow 的 CIFAR-10 数据集,我们可以训练一个神经网络来对图像进行分类。

  1. 导入库

    import tensorflow as tf
    
  2. 加载数据

    cifar10 = tf.keras.datasets.cifar10
    (x_train, y_train), (x_test, y_test) = cifar10.load_data()
    
  3. 预处理数据

    x_train, x_test = x_train / 255.0, x_test / 255.0
    
  4. 构建模型

    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)
    ])
    
  5. 编译模型

    model.compile(optimizer='adam',
                  loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
                  metrics=['accuracy'])
    
  6. 训练模型

    model.fit(x_train, y_train, epochs=10)
    
  7. 评估模型

    test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
    print('\nTest accuracy:', test_acc)
    

更多 TensorFlow 神经网络案例,请访问本站 TensorFlow 神经网络教程


TensorFlow Logo