如何在Tensorflow中构建spp-net?

时间:2017-02-21 15:01:29

标签: python tensorflow

由于tf.max_pool不支持变量大小,因此spp层不起作用。 我将长度提供给图表,出现错误。

length = tf.placeholder(tf.int32)
shape=[-1, length,length,32]
pool = tf.nn.max_pool(output,
                     ksize=[1, np.ceil(shape[1] * 1. / l).astype(np.int32), np.ceil(shape[2] * 1. / l).astype(np.int32), 1],
                     strides=[1, np.floor(shape[1] * 1. / l + 1).astype(np.int32), np.floor(shape[2] * 1. / l + 1), 1],
                          padding='SAME')

TypeError:预期为int32,得到1.0的类型' float'代替。

你有什么想法,如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:1)

在strides参数中,将第3个值更改为整数。 即。

np.floor(shape[2] * 1. / l + 1)np.floor(shape[2] * 1. / l + 1).astype(np.int32)

完成stride选项:

strides=[1, np.floor(shape[1] * 1. / l + 1).astype(np.int32), 
           np.floor(shape[2] * 1. / l + 1).astype(np.int32), 1],

希望这会对你有所帮助。