我有一个名为words_conv_bigram_pool
的张量,其形状为(?, 1, 1, 64)
,?
是批量大小。
我试图通过(?, 64)
将张量展平为Flatten()(words_conv_bigram_pool)
,
但它返回(?,?)
的形状。
>>> Flatten()(words_conv_bigram_pool)
WARNING:tensorflow:From /home/xuemeng.cyn/anaconda2/lib/python2.7/site-packages/keras/backend/tensorflow_backend.py:1264: calling reduce_prod (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
<tf.Tensor 'flatten_1/Reshape:0' shape=(?, ?) dtype=float32>
发生了什么以及如何在keras中使用flatten函数?
答案 0 :(得分:2)
不要太关心&#34;张量流形状,关心&#34; keras形状&#34;。当您使用keras时,看到?
张量流量维度很常见。
如果您将此展平图层添加到模型中,然后执行model.summary()
,您将看到所需的形状。
如果您未使用&#34; keras型号&#34;,但只想删除其他尺寸,则可以尝试tf.squeeze。