我想从预训练的模型中进行转学习。我正在关注来自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')
有什么想法吗?
答案 0 :(得分:0)
这种情况正在发生,因为您的bottleneck_tensor
形状[1, ?, 128]
并且您明确声明形状应为[?, 128]
。您可以使用tf.squeeze
来减少将张量转换为所需形状
tf.squeeze(bottleneck_tensor)