ValueError:Tensor必须与Tensorflow中具有双向RNN的Tensor来自同一图
deep-learning
python
recurrent-neural-network
tensorflow
7
0

我正在使用张量流中的双向动态RNN进行文本标记。匹配输入的维度后,我尝试运行一个Session。这是blstm设置部分:

fw_lstm_cell = BasicLSTMCell(LSTM_DIMS)
bw_lstm_cell = BasicLSTMCell(LSTM_DIMS)

(fw_outputs, bw_outputs), _ = bidirectional_dynamic_rnn(fw_lstm_cell,
                                                        bw_lstm_cell,
                                                        x_place,
                                                        sequence_length=SEQLEN,
                                                        dtype='float32')

这是运行的一部分:

  with tf.Graph().as_default():
    # Placehoder Settings
    x_place, y_place = set_placeholder(BATCH_SIZE, EM_DIMS, MAXLEN)

    # BLSTM Model Building
    hlogits = tf_kcpt.build_blstm(x_place)

    # Compute loss
    loss = tf_kcpt.get_loss(log_likelihood)

    # Training
    train_op = tf_kcpt.training(loss)

    # load Eval method
    eval_correct = tf_kcpt.evaluation(logits, y_place)

    # Session Setting & Init
    init = tf.global_variables_initializer()
    sess = tf.Session()
    sess.run(init)

    # tensor summary setting
    summary = tf.summary.merge_all()
    summary_writer = tf.summary.FileWriter(LOG_DIR, sess.graph)

    # Save
    saver = tf.train.Saver()

    # Run epoch
    for step in range(EPOCH):
        start_time = time.time()

        feed_dict = fill_feed_dict(KCPT_SET['train'], x_place, y_place)
        _, loss_value = sess.run([train_op, loss], feed_dict=feed_dict)

但是,它给了我错误:

ValueError:Tensor(“ Shape:0”,shape =(1,),dtype = int32)必须与Tensor(“ bidirectional_rnn / fw / fw / fw / stack_2:0”,shape =(1,),dtype来自同一张图= int32)。

请帮帮我

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

TensorFlow将所有操作存储在一个操作图上。此图定义了将什么功能输出到何处,并将其链接在一起,以便可以按照图中设置的步骤生成最终输出。如果您尝试将一个图的张量或操作输入到另一张图的张量或操作,它将失败。一切都必须在同一执行图上。

尝试with tf.Graph().as_default():删除with tf.Graph().as_default():

TensorFlow为您提供了一个默认图形,如果您未指定图形,则会引用该图形。您可能在一个位置使用默认图,而在训练块中使用另一图。

您似乎没有理由在此处将图形指定为默认图形,并且很可能是偶然使用单独的图形。如果您确实要指定图形,则可能希望将其作为变量传递,而不是像这样设置。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号