首先,这不是一个公共的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]