我跟着' retrain.py'例如,但得到错误。 我打印瓶颈张量的形状,它是[1,1,1,2048]。执行时会遇到错误" tf.placeholder_with_default( bottleneck_tensor,shape = [None,BOTTLENECK_TENSOR_SIZE], 名称=' BottleneckInputPlaceholder')"
似乎bottleneck_tensor是一个具有4维的张量,每个维度是什么意思?为什么它不是二维张量?
我提到了inception-v3模型源代码,让我困惑的是我找不到' pool_3'模型定义中的张量,用于retrain.py
Inception-v3模型定义: https://github.com/tensorflow/models/blob/master/inception/inception/slim/inception_model.py
' retrain.py'教程: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py
我的代码:
BOTTLENECK_TENSOR_NAME = 'pool_3:0'
BOTTLENECK_TENSOR_SIZE = 2048
sess = tf.InteractiveSession()
graph = create_inception_graph()
bottleneck_tensor = graph.get_tensor_by_name(ensure_name_has_port(
BOTTLENECK_TENSOR_NAME))
print bottleneck_tensor.get_shape()
bottleneck_input = tf.placeholder_with_default(
bottleneck_tensor, shape=[None, BOTTLENECK_TENSOR_SIZE],
name='BottleneckInputPlaceholder')
错误:
ValueError:形状必须等于等级,但对于' BottleneckInputPlaceholder'是4和2。 (op:' PlaceholderWithDefault')输入形状:[1,1,1,2048]。