V3 start preprocessing function in Keras

This is a v3 start preprocessing feature in Keras. It is completely different from the preprocessing of other models.

def preprocess_input(x):
    x /= 255.
    x -= 0.5
    x *= 2.
    return x

      

1. Why is there no mean subtraction?

2. Why is there no RGB for BGR?

3. Is the mapping between [-1,1] normal for this model?

and this is the VGG and ResNet preprocessing feature in Keras:

def preprocess_input(x, data_format=None):
    if data_format is None:
        data_format = K.image_data_format()
    assert data_format in {'channels_last', 'channels_first'}

    if data_format == 'channels_first':
        # 'RGB'->'BGR'
        x = x[:, ::-1, :, :]
        # Zero-center by mean pixel

        x[:, 0, :, :] -= 103.939
        x[:, 1, :, :] -= 116.779
        x[:, 2, :, :] -= 123.68
    else:
        # 'RGB'->'BGR'
        x = x[:, :, :, ::-1]
        # Zero-center by mean pixel
        x[:, :, :, 0] -= 103.939
        x[:, :, :, 1] -= 116.779
        x[:, :, :, 2] -= 123.68
    return x

      

Also Caffe models use mean subtraction and RGB for BGR.

+3


source to share


1 answer




+2


source







All Articles