东莞樟木头网站制作,html5网页设计工具,深度网网站建设,如何写推广软文欢迎关注 “小白玩转Python”#xff0c;发现更多 “有趣”在使用神经网络和深度学习模型时#xff0c;需要进行数据准备。对于更复杂的物体识别任务#xff0c;也越来越需要增加数据量。数据增加意味着增加数据量。换句话说#xff0c;拥有更大的数据集意味着更健壮的模型… 欢迎关注 “小白玩转Python”发现更多 “有趣”在使用神经网络和深度学习模型时需要进行数据准备。对于更复杂的物体识别任务也越来越需要增加数据量。数据增加意味着增加数据量。换句话说拥有更大的数据集意味着更健壮的模型。但是获取更多的数据并不总是那么容易而且可能存在存储数据并将其提供给模型的问题。为了缓解这个问题我们可以通过做一些修改手动增加数据或者我们可以使用一个 Keras 图像预处理类只需几行代码就可以做到这一点。在这篇文章中我们将看到在使用 Keras 开发和评估 Python 中的深度学习模型时如何使用图像数据集进行数据准备和数据增强。读完这篇文章你就会知道1. 关于Keras提供的图像增强API以及如何在模型中使用它。如何执行特征标准化2. 如何对图像执行 ZCA 白化3. 如何对图像数据随机旋转移位和翻转增强4. 如何将增强图像数据保存到磁盘。图像增强 APIImageDataGenerator它从原始批处理中生成批处理的增强数据。该算法首先对图像进行随机变换然后生成一批新的图像进行训练。注意: 这里需要注意的一点是 ImageDataGenerator 不返回原始图像而只返回一批增强数据这是对原始数据进行某些转换的结果。加载数据集我们将使用 MNIST 手写数字识别进行数据增强。执行下面的代码将从 keras.datasets 加载 MNIST 数据集将数据分解成训练街和测试集像素标准化像素标准化在两个级别上得到支持每个图像(称为样本级)或每个数据集(称为特征级)。具体来说标准化像素值所需的平均值和/或平均值和标准差统计量可以仅从每张图像中的像素值计算(按样本计算) 也可以从整个训练数据集中计算(按特征计算)。您可以通过在 ImageDataGenerator 类上设置 featurewise_center 和 featurewise_std_normalization 参数来执行标准化过程。运行这个例子您可以看到效果是不同的似乎暗淡和亮化不同的数字。ZCA 白化图像的白化变换是一个线性代数运算它减少了像素图像矩阵中的冗余。通常图像增白是使用主成分分析分析技术进行的。最近一种叫做 ZCA 的方法显示了更好的结果在变换后的图像中保留了所有的原始维度不像 PCA结果变换后的图像仍然看起来像原始图像。随机旋转您可以训练您的模型以更好地在训练期间人为处理数据集中图像旋转和随机旋转。下面的示例通过设置 rotation _ range 参数创建 MNIST 数字最高90度的随机旋转。你可以看到图像被左右旋转到90度的极限。这对这个问题没有帮助因为 MNIST 的数字有一个规范化的方向但是这种转换可能有助于从物体可能有不同方向的照片中学习。随机平移图像中的对象可能不在框架中心。它们可能在各种不同的方面偏离中心。您可以通过人工创建训练数据的平移版本来训练深度学习网络。Keras 支持通过 width_shift_range 和 height_shift_range 参数对训练数据进行水平和垂直随机平移。同样由于手写数字已经居中这对于 MNIST 来说是不必要的但是您可以看到这在更复杂的问题域中是多么有用。随机翻转另一个增强图像数据的方法是在训练数据中创建随机的图像翻转这样可以提高处理大型复杂问题的性能。Keras 支持使用 vertical_flip 和 horizontal_flip 参数沿垂直轴和水平轴进行随机翻转。翻转数字不是很有用因为它们总是有正确的左右方向但是对于场景中可能有不同方向的物体的照片来说这可能是有用的。· END ·HAPPY LIFE