形状必须相等

时间:2018-01-25 07:01:35

标签: python tensorflow

我想从预训练的模型中进行转学习。我正在关注来自Tensorflow的guide再培训。

但是,我遇到了错误tensorflow.python.framework.errors_impl.InvalidArgumentError: Shapes must be equal rank, but are 3 and 2 for 'input_1/BottleneckInputPlaceholder' (op: 'PlaceholderWithDefault') with input shapes: [1,?,128].

# Last layer of pre-trained model 
# `[<tf.Tensor 'embeddings:0' shape=(?, 128) dtype=float32>]`

with tf.name_scope('input'):
    bottleneck_input = tf.placeholder_with_default(
        bottleneck_tensor,
        shape=[None, 128],
        name='BottleneckInputPlaceholder')

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为您的bottleneck_tensor形状[1, ?, 128]并且您明确声明形状应为[?, 128]。您可以使用tf.squeeze来减少将张量转换为所需形状

tf.squeeze(bottleneck_tensor)