Tensorflow TF-在模型_fn中将全局_步骤传递给种子

Tensorflow TF-在模型_fn中将全局_步骤传递给种子,tensorflow,tensorflow-estimator,Tensorflow,Tensorflow Estimator,在Tensorflow估计器API(tf.Estimator)中,是否有一种方法可以使用model\u fn中的当前会话来计算张量并将值传递给python?我希望根据global\u step的值有一个seed-in-dropout,但由于前者需要int,后者是一个张量 我看不到任何方法可以访问模型fn内的会话,以获取全局步骤的当前值 即使有可能,在每一步更改tf.nn.dropout的种子将在每一步使用不同的种子创建一个新的图形操作,这将使图形变得越来越大。即使没有tf.estimator,我

在Tensorflow估计器API(
tf.Estimator
)中,是否有一种方法可以使用
model\u fn
中的当前会话来计算张量并将值传递给python?我希望根据
global\u step
的值有一个seed-in-dropout,但由于前者需要
int
,后者是一个
张量

我看不到任何方法可以访问
模型fn内的
会话
,以获取
全局步骤的当前值

即使有可能,在每一步更改
tf.nn.dropout
的种子将在每一步使用不同的种子创建一个新的图形操作,这将使图形变得越来越大。即使没有
tf.estimator
,我也不知道您如何实现这一点


我认为你想要的是确保你在两次跑步之间获得相同的随机性。在退出中设置带有或仅使用正常
种子的图形级随机种子应创建可复制的掩码序列。下面是一个代码示例:

x=tf.one(10)
y=tf.nn.辍学(x,0.5,种子=42)
sess1=tf.Session()
y1=sess1.运行(y)
y2=sess1.运行(y)
sess2=tf.Session()
y3=sess2.运行(y)
y4=sess2.运行(y)
断言(y1==y3)。所有()#y1和y3都是相同的
断言(y2==y4)。所有()#y2和y4都是相同的
答案提供了关于如何使图形随机性再现的更多细节