如何使用 Tensorflow 训练和编译 CNN 模型?
pythonserver side programmingprogrammingtensorflow
卷积神经网络可以分别使用 ‘train’ 方法和 ‘fit’ 方法进行训练和编译。‘epoch’ 值在 ‘fit’ 中提供。方法。
阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?
我们将使用 Keras Sequential API,它有助于构建用于处理普通层堆栈的顺序模型,其中每个层都有一个输入张量和一个输出张量。
包含至少一个层的神经网络称为卷积层。卷积神经网络已被用于为特定类型的问题(例如图像识别)产生出色的结果。
我们使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 可帮助在浏览器上运行 Python 代码,无需任何配置,并可免费访问 GPU(图形处理单元)。 Colaboratory 已在 Jupyter Notebook 上构建。
print("编译模型") model.compile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy']) print("训练模型以拟合数据") history = model.fit(train_images, train_labels, epochs=10,validation_data=(test_images, test_labels))
代码来源:https://www.tensorflow.org/tutorials/images/cnn
输出
编译模型 训练模型以适应数据 Epoch 1/10 1563/1563 [==============================] - 70s 44ms/step - loss: 1.7408 - accuracy: 0.3557 - val_loss: 1.2260 - val_accuracy: 0.5509 Epoch 2/10 1563/1563 [==============================] - 67s 43ms/step - loss: 1.1928 - accuracy: 0.5751 - val_loss: 1.0800 - val_accuracy: 0.6159 Epoch 3/10 1563/1563 [==============================] - 68s 43ms/step - loss: 1.0330 - accuracy: 0.6396 - val_loss: 0.9791 - val_accuracy: 0.6562 Epoch 4/10 1563/1563 [==============================] - 66s 43ms/step - loss: 0.9197 - accuracy: 0.6782 - val_loss: 0.9488 - val_accuracy: 0.6677 Epoch 5/10 1563/1563 [==============================] - 65s 42ms/step - loss: 0.8388 - accuracy: 0.7043 - val_loss: 0.9090 - val_accuracy: 0.6851 Epoch 6/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.7755 - accuracy: 0.7279 - val_loss: 0.8694 - val_accuracy: 0.6944 Epoch 7/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.7107 - accuracy: 0.7494 - val_loss: 0.9152 - val_accuracy: 0.6929 Epoch 8/10 1563/1563 [==============================] - 65s 42ms/step - loss: 0.6674 - accuracy: 0.7649 - val_loss: 0.8613 - val_accuracy: 0.7045 Epoch 9/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.6288 - accuracy: 0.7771 - val_loss: 0.8788 - val_accuracy: 0.7026 Epoch 10/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.5913 - accuracy: 0.7953 - val_loss: 0.8884 - val_accuracy: 0.7053
解释
- 模型已编译。
- 下一步是训练模型以适应训练数据。
- 训练数据的步骤数为 10。