由于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>
答案 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],
希望这会对你有所帮助。