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

tensorflowserver side programmingprogramming

可以使用 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://www.tensorflow.org/tutorials/images/classification

输出

Visualizing the augmented examples

解释

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

  • 这是通过在同一图像上多次应用数据增强来实现的。

  • 数据/图像被迭代,一些示例图像显示在控制台上。


相关文章