如何使用Tensorflow和预训练模型通过Python可视化数据?


Tensorflow和预训练模型可以使用‘matplotlib’库来可视化数据。‘plot’方法用于在控制台上绘制数据。

阅读更多: 什么是TensorFlow以及Keras如何与TensorFlow协作创建神经网络?

包含至少一层卷积层的神经网络被称为卷积神经网络。我们可以使用卷积神经网络构建学习模型。

我们将了解如何借助来自预训练网络的迁移学习对猫和狗的图像进行分类。图像分类中迁移学习背后的直觉是,如果一个模型是在一个大型且通用的数据集上训练的,那么这个模型可以有效地作为视觉世界的通用模型。它将学习特征映射,这意味着用户不必从头开始在一个大型数据集上训练一个大型模型。

阅读更多: 如何对自定义模型进行预训练?

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

示例

print("Visualizing the data")
plt.figure(figsize=(8, 8))
plt.subplot(2, 1, 1)
plt.plot(acc, label='Training Accuracy')
plt.plot(val_acc, label='Validation Accuracy')
plt.ylim([0.8, 1])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(2, 1, 2)
plt.plot(loss, label='Training Loss')
plt.plot(val_loss, label='Validation Loss')
plt.ylim([0, 1.0])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.xlabel('epoch')
plt.show()

代码来源 −https://tensorflowcn.cn/tutorials/images/transfer_learning

输出

解释

  • 可视化训练和验证准确率/损失的学习曲线。

  • 这在执行微调后完成。

  • 验证损失高于训练损失,这意味着存在一定程度的过拟合。

  • 这种过拟合也可能是由于训练数据集相对较小并且与原始MobileNet V2数据集相似。

  • 微调完成后,模型在验证集上达到了98%的准确率。

更新于: 2021年2月25日

182 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告