如何在tensorflow中正确调用函数

时间:2019-08-29 18:51:17

标签: function tensorflow

给出以下代码,其中begin是函数sample_text()的输入,同时它是其输出。我想调用函数sample_text() 200次,其中它的输出(begin)是下一次迭代的输入。但是,我的初始beginbegin=next_element[0]来自tf.data.Dataset,随后的开始是来自函数sample_text()。我的问题是:如果我执行sess.run(begin),哪个begin被执行?此begin=next_element[0]行或begin=self.sample_text(hprev,begin,p_s),请帮助

begin=next_element[0]
begin=self.sample_text(hprev,begin,p_s)
with tf.Session() as sess:   
           for j in range(200):
                  sample=sess.run(begin)                                   

1 个答案:

答案 0 :(得分:1)

如果您的sample_text函数建立在TensorFlow图中已经存在的begin节点之上,那么当您将名为begin的Python变量分配给此{{1 }}函数,没有什么可担心的。运行sample_text时,图形中的两个节点都运行。

但是,如果您没有在session.run(begin)函数中的第一个begin变量之上构建,则最初分配的节点将对您的后续代码不可用。而且,当您运行sample_text时,将仅运行session.run(begin)的输出节点。