如何在tensorflow中使用If语句?

时间:2018-10-22 09:14:56

标签: python tensorflow

所以我需要计算一个张量,这种张量需要一个'if'语句。具体来说,我需要计算张量并将其与常量进行比较,然后实现不同的功能。

这是我的操作方式(失败):


num_instances = tf.size(unique_labels)

l_var=tf.cond(tf.less(num_instances,1),true_fn=return_zero(),false_fn=fn())

num_instances 张量正在改变,因为在训练期间将不同的数据输入到模型中

不幸的是,它没有用,并且终端报告了

  

'TypeError: true_fn必须是可调用的。 '

您可以在这里找到我的输出

sample output

1 个答案:

答案 0 :(得分:0)

'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)

result1 = 11 * 22

result2 = 11 + 22

运行结果:

484

33