如何使用 Tensorflow 和花卉数据集来编译和拟合模型?

pythonserver side programmingprogrammingtensorflow

可以分别使用 ‘compile’ 和 ‘fit’ 方法编译花卉数据集并将其拟合到模型中。对于 ‘fit’ 方法,训练数据集和验证数据集作为参数传递。epoch 数也在 ‘fit’ 中定义方法。

阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?

我们将使用 flowers 数据集,其中包含数千朵花的图像。它包含 5 个子目录,每个类都有一个子目录。

我们正在使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,并且不需要任何配置,并且可以免费访问 GPU(图形处理单元)。 Colaboratory 已在 Jupyter Notebook 上构建。

print("模型正在编译")
model.compile(
   optimizer='adam',
   loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
   metrics=['accuracy'])
print("模型正在拟合数据")
model.fit(
   train_ds,
   validation_data=val_ds,
   epochs=3
)

代码来源:https://www.tensorflow.org/tutorials/load_data/images

输出

正在编译模型
正在将模型拟合到数据
Epoch 1/3
92/92 [==============================] - 107s 1s/step - loss: 1.3570 - accuracy: 0.4183 - val_loss: 1.0730 - val_accuracy: 0.5913
Epoch 2/3
92/92 [==============================] - 101s 1s/step - loss: 1.0185 - accuracy: 0.5927 - val_loss: 1.0041 - val_accuracy: 0.6199
Epoch 3/3
92/92 [==============================] - 95s 1s/step - loss: 0.8691 - accuracy: 0.6529 - val_loss: 0.9985 - val_accuracy: 0.6281
<tensorflow.python.keras.callbacks.History at 0x7f2cdcbbba90>

解释

  • 一旦创建了层并训练了数据,下一步就是编译已构建的模型。
  • 一旦编译完成,模型就会适合输入数据集。
  • 与训练准确度值相比,验证准确度值较低。
  • 这意味着我们的模型过度拟合。

相关文章