给出以下代码,其中begin
是函数sample_text()
的输入,同时它是其输出。我想调用函数sample_text()
200次,其中它的输出(begin
)是下一次迭代的输入。但是,我的初始begin
是begin=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)
答案 0 :(得分:1)
如果您的sample_text
函数建立在TensorFlow图中已经存在的begin
节点之上,那么当您将名为begin
的Python变量分配给此{{1 }}函数,没有什么可担心的。运行sample_text
时,图形中的两个节点都运行。
但是,如果您没有在session.run(begin)
函数中的第一个begin
变量之上构建,则最初分配的节点将对您的后续代码不可用。而且,当您运行sample_text
时,将仅运行session.run(begin)
的输出节点。