有关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]
我在这里犯了一些愚蠢的错误吗?
答案 0 :(得分:0)
Keras可以与两个后端一起使用:Theano和TensorFlow。
Theano使用“ channels_first”格式(NCHW),而TensorFlow使用“ channels_last”格式(NHWC)。据我所知,TensorFlow后端不支持“ ”格式。