Python CNN:TypeError:应为int32,获取包含类型为'的张量的列表_消息';相反

Python CNN:TypeError:应为int32,获取包含类型为'的张量的列表_消息';相反,python,tensorflow,deep-learning,Python,Tensorflow,Deep Learning,当我尝试用Tensorflow训练CNN方法时,我得到了以下错误: Traceback (most recent call last): File "./train.py", line 87, in l2_reg_lambda=FLAGS.l2_reg_lambda) TypeError: Expected int32, got list containing Tensors of type '_Message' instead. 我怎样才能修好它 这是我的代码: with tf.Grap

当我尝试用Tensorflow训练CNN方法时,我得到了以下错误:

Traceback (most recent call last):
File "./train.py", line 87, in 
l2_reg_lambda=FLAGS.l2_reg_lambda)

TypeError: Expected int32, got list containing Tensors of type '_Message' instead.
我怎样才能修好它

这是我的代码:

with tf.Graph().as_default():
    session_conf = tf.ConfigProto(
      allow_soft_placement=FLAGS.allow_soft_placement,
      log_device_placement=FLAGS.log_device_placement)
    sess = tf.Session(config=session_conf)
    with sess.as_default():
        cnn = TextCNN(
            sequence_length=x_train.shape[1],
            num_classes=2,
            vocab_size=len(vocab_processor.vocabulary_),
            embedding_size=FLAGS.embedding_dim,
            filter_sizes=list(map(int, FLAGS.filter_sizes.split(","))),
            num_filters=FLAGS.num_filters,
            l2_reg_lambda=FLAGS.l2_reg_lambda) (line 87)

x\u train.shape[1]
返回一个
Tensor
,直到
sess.run()
,它的值才被计算出来,所以你应该传递一个int32值而不是shape[1]。

这个代码:sequence\u length=x\u train.shape[1]引用这个代码self.input\u x=tf.placeholder(tf.int32,[None,sequence\u length],name=“input\x”)。我应该更改代码吗?我想把self.input\u x=tf.placeholder(tf.int32,[None,sequence\u length],name=“input\u x”)中的
sequence\u length
传递到
cnn=TextCNN(sequence\u length=sequence\u length