如何使用 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://www.tensorflow.org/tutorials/images/classification
输出
Visualizing the augmented examples
解释
上述代码有助于可视化一些增强示例。
这是通过在同一图像上多次应用数据增强来实现的。
数据/图像被迭代,一些示例图像显示在控制台上。