2

我想用这样tf.slim.fully_connected的东西:

conv_out = conv2d(...)
_, h, w, c = conv_out.shape
flat = tf.reshape(conv_out, [-1, h*w*c])
fc_out = fully_connected(flat, h*w*c)

但是,当我这样做时,我得到一个错误:

ValueError:num_outputs应该是 int 或 long,得到 49。

h*w*c是类型tensorflow.python.framework.tensor_shape.Dimension

有没有办法做到这一点,事先不知道whc,而不必开始一个会话来确定它们?

4

1 回答 1

2

h*w*c是类型tensorflow.python.framework.tensor_shape.Dimension

正确,但slim.fully_connected检查isinstance(num_outputs, six.integer_types). 它不期望一个Dimension实例。

这就是为什么您应该手动转换h*w*cint

fc_out = fully_connected(flat, int(h*w*c))
于 2018-01-08T12:43:27.820 回答