这是我的代码,我想使用变量(b
)提取另一个特定长度的变量(a
),然后进行最大池化。
import tensorflow as tf
import numpy as np
def f(x, phone_len):
#x = x[:phone_len]
x = tf.reshape(x,[1,1,x.shape[0],1])
k_size = np.ceil(x.shape[0].value/10.)
return tf.nn.max_pool(x, ksize=[1,1,k_size,1], strides=[1,1,100,1], padding='VALID')
a = tf.constant(np.arange(3000).reshape((3,1000)), dtype='float32')
b = tf.constant([300,600,500],dtype='int32')
s = f(a[0], b[0])
with tf.Session() as sess:
print sess.run(s)
如果取消注释#x = x[:phone_len]
然后抛出错误,如何解决?
TypeError:无法将类型的对象转换为Tensor。内容:[1,1,Dimension(None),1]。考虑将元素强制转换为受支持的类型。