【发布时间】:2020-04-26 11:58:57
【问题描述】:
想了解和复现tensorflow.keras在函数tf.keras.applications.resnet.preprocess_input中是如何对imagenet做预处理的,但是看不懂source code:
@keras_export('keras.applications.imagenet_utils.preprocess_input')
@keras_modules_injection
def preprocess_input(*args, **kwargs):
return imagenet_utils.preprocess_input(*args, **kwargs)
定义似乎是递归的。此外,文档没有说明该功能。我怎样才能看到这个函数到底在做什么?
【问题讨论】:
-
过去,我在源代码中看到过,也许你在寻找更旧的 keras 版本。这里似乎有旧版本的文档。尝试找到类似 2.1.0 或 2.2.0(或这些值附近的值):faroit.com/keras-docs/1.0.8/layers/convolutional/#convolution2d。这个想法是每个模型都有自己的预处理,但 VGG 使用每个通道的中心。就是这样,图像输入从 0 到 255:绿色通道的值减去 255/2 左右(但不完全正确)。每个其他频道都遵循相同的流程,但手段不同。
-
我知道它们确实意味着减法和缩放,但我也想知道它们是如何进行裁剪的。
-
预处理中没有作物。
标签: python tensorflow keras resnet imagenet