如何使用 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>
解释
- 一旦创建了层并训练了数据,下一步就是编译已构建的模型。
- 一旦编译完成,模型就会适合输入数据集。
- 与训练准确度值相比,验证准确度值较低。
- 这意味着我们的模型过度拟合。