_MEAN_RGB = [123.15, 115.90, 103.06]
def _preprocess_subtract_imagenet_mean(inputs):
"""Subtract Imagenet mean RGB value."""
mean_rgb = tf.reshape(_MEAN_RGB, [1, 1, 1, 3])
print("mean_rgb:\n", mean_rgb)
return inputs - mean_rgb
inputs = tf.random.uniform(shape=[2, 448, 448, 3], maxval=255)
print("inputs:\n", inputs)
imgs_new = _preprocess_subtract_imagenet_mean(inputs)
print("imgs_sub:\n", imgs_new)

tensorflow-2.0 技巧 |  ImageNet 归一化-LMLPHP

会Boardcast!

– 从最后面的维度开始匹配。

– 在前面插入若干维度。

– 将维度的size从1通过expand变到和某个Tensor相同的维度。

总之,Broadcasting操作就是自动实现了若干unsqueeze和expand操作,以使两个tensor的shape一致,从而完成某些操作(往往是加法)。

05-11 15:08