Keras卷积选项“ channels_first”是否可以与Tensorflow一起使用?

时间:2019-07-23 16:33:23

标签: tensorflow keras-layer

有关Conv2D层的Keras文档表示,值“ channels_first”可用于参数data_format,支持“ NCHW”格式的数据,而不是默认的“ NHWC”格式的数据。但这似乎在下面的代码中不起作用。

import tensorflow as tf

tf.enable_eager_execution()

#this works:
data = tf.random.uniform((1,5,5,1))
model = tf.keras.Sequential([tf.keras.layers.Conv2D(1,(3,3),data_format="channels_last")])
model(data)       

#this doesn't:
data = tf.random.uniform((1,1,5,5))
model = tf.keras.Sequential([tf.keras.layers.Conv2D(1,(3,3),data_format="channels_first")])
model(data)       

对于“ channels_first”案例,我收到消息:

UnimplementedError: Generic conv implementation only supports NHWC tensor format for now. [Op:Conv2D]

我在这里犯了一些愚蠢的错误吗?

1 个答案:

答案 0 :(得分:0)

Keras可以与两个后端一起使用:Theano和TensorFlow。

Theano使用“ channels_first”格式(NCHW),而TensorFlow使用“ channels_last”格式(NHWC)。据我所知,TensorFlow后端不支持“ ”格式。