如何使用Tensorflow可视化数据集中的增强数据?


可以使用Tensorflow和Python以及'matplotlib'库来可视化增强数据。通过迭代图像并使用'imshow'方法进行绘制。

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

我们将使用Keras Sequential API,它有助于构建一个用于处理层级堆栈的顺序模型,其中每一层都只有一个输入张量和一个输出张量。

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

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

当训练样本数量较少时,模型会从训练样本中的噪声或不需要的细节中学习。这会对模型在新样本上的性能产生负面影响。

由于过拟合,模型将无法在新数据集上很好地泛化。避免过拟合的方法有很多。我们将使用数据增强来克服过拟合。

数据增强通过使用随机变换(这些变换会产生看起来可信的图像)来增强现有样本,从而生成额外的训练数据。

这有助于使模型接触到更多的数据方面,从而帮助模型更好地泛化。以下是一个示例

示例

print("Visualizing the augmented examples")
plt.figure(figsize=(10, 10))
for images, _ in train_ds.take(1):
   for i in range(9):
      augmented_images = data_augmentation(images)
      ax = plt.subplot(3, 3, i + 1)
   plt.imshow(augmented_images[0].numpy().astype("uint8"))
plt.axis("off")

代码来源 -https://tensorflowcn.cn/tutorials/images/classification

输出

Visualizing the augmented examples

解释

  • 以上代码有助于可视化一些增强示例。

  • 这是通过对同一图像多次应用数据增强来完成的。

  • 迭代数据/图像,并在控制台上显示一些样本图像。

更新于: 2021年2月22日

184 次查看

开启你的职业生涯

通过完成课程获得认证

立即开始
广告