为什么 Keras 不处理图像的 Theano 和 TF 表示之间的差异?
Why doesn't Keras handle the difference between Theano and TF representations for images?
为什么 Keras 不处理带有通道的图像的 Theano 和 Tensorflow 表示之间的差异?例如,如果你使用 Theano 作为后端,它们的图像是 (samples, color_depth, width, height) 形式,如果你使用 TF,那么图像是(samples, width, height, color_depth) 格式。似乎 Keras 可以只使用一个或另一个,然后在幕后重新格式化形状。
Keras 只使用一种表示。
按照标准,它使用 channels_last
。
如果用户愿意,可以将其更改为 channels_first
。
您可以创建一个 keras 模型并将其与 tensorflow 或 theano 一起使用,而无需更改模型的任何内容。
文件keras.json
包含标准定义:
{
"floatx": "float32",
"image_data_format": "channels_last",
"epsilon": 1e-07,
"backend": "tensorflow"
}
文件可以在<user>\.keras\keras.json
中找到
您还可以通过为每个图层定义参数 data_format
来覆盖标准设置。 (参见 here)。
最好避免直接使用tensorflow或theano函数。对于有必要的情况,请尝试 Keras backend 功能。
为什么 Keras 不处理带有通道的图像的 Theano 和 Tensorflow 表示之间的差异?例如,如果你使用 Theano 作为后端,它们的图像是 (samples, color_depth, width, height) 形式,如果你使用 TF,那么图像是(samples, width, height, color_depth) 格式。似乎 Keras 可以只使用一个或另一个,然后在幕后重新格式化形状。
Keras 只使用一种表示。
按照标准,它使用 channels_last
。
如果用户愿意,可以将其更改为 channels_first
。
您可以创建一个 keras 模型并将其与 tensorflow 或 theano 一起使用,而无需更改模型的任何内容。
文件keras.json
包含标准定义:
{
"floatx": "float32",
"image_data_format": "channels_last",
"epsilon": 1e-07,
"backend": "tensorflow"
}
文件可以在<user>\.keras\keras.json
您还可以通过为每个图层定义参数 data_format
来覆盖标准设置。 (参见 here)。
最好避免直接使用tensorflow或theano函数。对于有必要的情况,请尝试 Keras backend 功能。