def get_z(epsilon):
return tf.cond(flag,lambda: mean + sigma*epsilon,lambda: epsilon)
在这个中,当我用flag = True调用函数时,我定义了我的均值和sigma张量,epsilon是我给出的占位符,它运行良好。
如果我用flag = False调用它,我只需返回epsilon,即我给的占位符。但是在这个阶段,平均值和sigma没有定义,因为我没有提供计算均值和西格玛的数据。然而,这并不重要,因为不需要均值和西格玛。但运行此操作会抛出错误来定义mean和sigma。这有什么解决办法吗?
谢谢。
答案 0 :(得分:0)
mean and sigma should be defined as the lambda function depends on the two values, you may use them as function input. Two placeholders with mean and sigma may be used.
def get_z(epsilon, mean, sigma):
return tf.cond(flag,lambda: mean + sigma*epsilon,lambda: epsilon)