Python 如何在tensorflow中使用If语句?
所以我需要计算一个张量,它需要一个if语句。具体来说,我需要计算一个张量,并将其与一个常数进行比较,然后实现不同的函数 以下是我是如何做到的(失败):Python 如何在tensorflow中使用If语句?,python,tensorflow,Python,Tensorflow,所以我需要计算一个张量,它需要一个if语句。具体来说,我需要计算一个张量,并将其与一个常数进行比较,然后实现不同的函数 以下是我是如何做到的(失败): num_实例:在训练期间,当不同的数据输入到模型中时,张量正在改变其值 不幸的是,它没有工作,终端报告 'TypeError:true\fn必须是可调用的 您可以在此处找到我的输出: 'if'语句示例: #!/usr/bin/env python2 # -*- coding: utf-8 -*- """ @author: myhaspl@m
num_实例:在训练期间,当不同的数据输入到模型中时,张量正在改变其值 不幸的是,它没有工作,终端报告 'TypeError:true\fn必须是可调用的 您可以在此处找到我的输出:
'if'语句示例:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
@author: myhaspl@myhaspl.com
"""
import tensorflow as tf
x = tf.constant(11)
y = tf.constant(22)
z = tf.multiply(x, y)
result1 = tf.cond(x > y, lambda: tf.add(x, y), lambda: tf.square(y))
result2 = tf.cond(x < y, lambda: tf.add(x, y), lambda: tf.square(y))
init_op = tf.global_variables_initializer()
sess=tf.Session()
with sess:
sess.run(init_op)
print sess.run(result1)
print sess.run(result2)
#/usr/bin/env蟒蛇2
#-*-编码:utf-8-*-
"""
@作者:myhaspl@myhaspl.com
"""
导入tensorflow作为tf
x=tf.常数(11)
y=tf.常数(22)
z=tf.乘(x,y)
结果1=tf.cond(x>y,lambda:tf.add(x,y),lambda:tf.square(y))
结果2=tf.cond(x
结果1=11*22
结果2=11+22
运行结果:
484
33欢迎来到SO!请向我们提供您得到的结果以及您期望的回报。向我们展示您遇到的错误或不希望出现的结果,以便社区可以帮助您,您可以更快地找到答案。此外,请不要添加图像,因为它们会在时间上丢失,并且很难复制该问题。请看这里:这里:它清楚地告诉你,
true\u fn
应该是一个函数的引用,而不是一个值-现在应该是,因为你正在调用函数。我只是用tf.constant(0,tf.float32)替换了0,但它仍然不起作用。所以我想知道是不是出了什么问题,它只是以某种方式报告说,这是真的。
l_var=tf.cond(tf.less(num_instances,1),true_fn=return_zero(),false_fn=fn())
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
@author: myhaspl@myhaspl.com
"""
import tensorflow as tf
x = tf.constant(11)
y = tf.constant(22)
z = tf.multiply(x, y)
result1 = tf.cond(x > y, lambda: tf.add(x, y), lambda: tf.square(y))
result2 = tf.cond(x < y, lambda: tf.add(x, y), lambda: tf.square(y))
init_op = tf.global_variables_initializer()
sess=tf.Session()
with sess:
sess.run(init_op)
print sess.run(result1)
print sess.run(result2)