TensorFlow – 在Cifar10示例中random_crop的作用是什么?

在TensorFlow示例中的Cifar10示例中,他们通过随机组合裁剪、翻转、增亮、对比度调整和白化来扭曲图像。这个概念是合理的,除了裁剪部分对我来说似乎有点奇怪。网络需要图像具有相同的尺寸,而裁剪代码如下所示:

  height = IMAGE_SIZE  width = IMAGE_SIZE  # 用于训练网络的图像处理。注意对图像应用的许多随机扭曲。  # 随机裁剪图像的一个[height, width]部分。  distorted_image = tf.random_crop(reshaped_image, [height, width, 3])

由于高度和宽度是基于图像尺寸的,这实际上在做些什么呢?


回答:

在这个示例中,IMAGE_SIZE被设置为24。所以这段代码的作用是选择一个随机的偏移量,并提取一个24 x 24的图像块。它可能会确保选择的偏移量使得图像块能够被提取出来,而不会有环绕或其他奇怪的边界条件,或者可能是填充了图像(这应该很容易检查)。

我认为IMAGE_SIZE可能更适合命名为PATCH_SIZE或其他名称。请注意,原始的CIFAR 10输入图像是32 x 32

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注