如何使用Tensorflow和花卉数据集编译和适配模型?
使用‘compile’和‘fit’方法,可以将花卉数据集编译并适配到模型中。在‘fit’方法中,训练和验证数据集均被传递为参数。‘fit’方法中还定义了epoch的数量。
更多Python相关文章,请阅读:Python 教程
我们将使用包含数千张花卉图片的花卉数据集。它包含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>
解释说明
- 一旦层被创建并训练数据,下一步就是编译构建的模型。
- 编译完成后,将适配模型到输入数据集中。
- 验证准确度与训练准确度相比较低。
- 这意味着我们的模型过于拟合。