如何将Keras的ImageDataGenerator的预处理参数与数据扩充参数相除

我将使用Keras的 ImageDataGenerator 类(在 keras / preprocessing / image.py 中)来训练神经网络。我将为训练数据提供一个生成器,为测试数据提供另一个生成器。但是,某些参数似乎适用于图像的预处理,而其他参数则试图扩充数据集。

我希望训练和测试数据都以相同的方式进行预处理,但是我不希望我的测试集被各种图像变换“增强”。因此,如果我相信这一点是正确的,那么以下参数用于预处理,并且可以由两个数据集共享:

    featurewise_center: Boolean.
        Set input mean to 0 over the dataset,feature-wise.
    samplewise_center: Boolean. Set each sample mean to 0.
    featurewise_std_normalization: Boolean.
        Divide inputs by std of the dataset,feature-wise.
    samplewise_std_normalization: Boolean. Divide each input by its std.
    zca_epsilon: epsilon for ZCA whitening. Default is 1e-6.
    zca_whitening: Boolean. Apply ZCA whitening.
    fill_mode: One of {"constant","nearest","reflect" or "wrap"}.
        Default is 'nearest'.
        Points outside the boundaries of the input are filled
        according to the given mode:
        - 'constant': kkkkkkkk|abcd|kkkkkkkk (cval=k)
        - 'nearest':  aaaaaaaa|abcd|dddddddd
        - 'reflect':  abcddcba|abcd|dcbaabcd
        - 'wrap':  abcdabcd|abcd|abcdabcd
    cval: Float or Int.
        Value used for points outside the boundaries
        when `fill_mode = "constant"`.
    rescale: rescaling factor. Defaults to None.
        If None or 0,no rescaling is applied,otherwise we multiply the data by the value provided
        (after applying all other transformations).
    preprocessing_function: function that will be implied on each input.
        The function will run after the image is resized and augmented.
        The function should take one argument:
        one image (Numpy tensor with rank 3),and should output a Numpy tensor with the same shape.
    data_format: Image data format,either "channels_first" or "channels_last".
        "channels_last" mode means that the images should have shape
        `(samples,height,width,channels)`,"channels_first" mode means that the images should have shape
        `(samples,channels,width)`.
        It defaults to the `image_data_format` value found in your
        Keras config file at `~/.keras/keras.json`.
        If you never set it,then it will be "channels_last".
    dtype: Dtype to use for the generated arrays.

这些参数是用于数据扩充的,应应用于训练集:

    rotation_range: Int. Degree range for random rotations.
    width_shift_range: Float,1-D array-like or int
        - float: fraction of total width,if < 1,or pixels if >= 1.
        - 1-D array-like: random elements from the array.
        - int: integer number of pixels from interval
            `(-width_shift_range,+width_shift_range)`
        - With `width_shift_range=2` possible values
            are integers `[-1,+1]`,same as with `width_shift_range=[-1,while with `width_shift_range=1.0` possible values are floats
            in the interval [-1.0,+1.0).
    height_shift_range: Float,1-D array-like or int
        - float: fraction of total height,or pixels if >= 1.
        - 1-D array-like: random elements from the array.
        - int: integer number of pixels from interval
            `(-height_shift_range,+height_shift_range)`
        - With `height_shift_range=2` possible values
            are integers `[-1,same as with `height_shift_range=[-1,while with `height_shift_range=1.0` possible values are floats
            in the interval [-1.0,+1.0).
    brightness_range: Tuple or list of two floats. Range for picking
        a brightness shift value from.
    shear_range: Float. Shear Intensity
        (Shear angle in counter-clockwise direction in degrees)
    zoom_range: Float or [lower,upper]. Range for random zoom.
        If a float,`[lower,upper] = [1-zoom_range,1+zoom_range]`.
    channel_shift_range: Float. Range for random channel shifts.
    horizontal_flip: Boolean. Randomly flip inputs horizontally.
    vertical_flip: Boolean. Randomly flip inputs vertically.

此外,我不确定验证集中的数据(由ImageDataGenerator类定义)是否(或应该)受提供增强的转换的约束。

YZL9060282 回答:如何将Keras的ImageDataGenerator的预处理参数与数据扩充参数相除

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3113850.html

大家都在问