conv_utils.normalize_data_format的具体的作用法

司空海荣
2023-12-01

记录关于kears的conv_utils.normalize_data_format的具体的作用法

首先,这不是一个公共的api。所以,你在谷歌和百度可能都很难找到它的解释。甚至是在官网的api指导文档当中,它都不存在。
这对于一个想知道这行代码的具体用法的强迫症患者是致命的打击。经过翻阅官网的源码,找到如下的解释。
对了旧版本和新版本的导入接口也不一样。两种导入的方式自己试一试。

from keras.utils.conv_utils import normalize_data_format
from keras.backend.common import normalize_data_format

其实这就是一个检验数据格式的通道到底是在第二维,还是最后一维的函数,总结:其实这行代码没啥大用,只要你能保证你的使用的通道放置位置是对的就行。
直接上官网的解释代码 .

// An highlighted block
def normalize_data_format(value):
    """Checks that the value correspond to a valid data format.
    Copy of the function in keras-team/keras because it's not public API.
    # Arguments
        value: String or None. `'channels_first'` or `'channels_last'`.
    # Returns
        A string, either `'channels_first'` or `'channels_last'`
    # Example
    ```python
        >>> from keras import backend as K
        >>> K.normalize_data_format(None)
        'channels_first'
        >>> K.normalize_data_format('channels_last')
        'channels_last'
    ```
    # Raises
        ValueError: if `value` or the global `data_format` invalid.
    """
    if value is None:
        value = K.image_data_format()
    data_format = value.lower()
    if data_format not in {'channels_first', 'channels_last'}:
        raise ValueError('The `data_format` argument must be one of '
                         '"channels_first", "channels_last". Received: ' +
                         str(value))
    return data_format

参考链接: [https://github.com/keras-team/keras-contrib/blob/master/keras_contrib/utils/conv_utils.py]

 类似资料: