tf,cond()函数

  tensorflow里面有太多的函数功能,完全像是新学一门语言,所以打算采用,遇到不会的函数就记录下来,作为自己的函数手册。这篇要讲的就是tf,cond()。

tf,cond(A,B,C) 就像是条件语句:if A: B else:C,举个例子:

z = tf.multiply(a, b)
result = tf.cond(x < y, lambda: tf.add(x, z), lambda: tf.square(y))

  解读一下这个官方的例子,首先是给z赋值了一个简单的乘法函数,然后调用tf,cond这个函数,它的意思是,如果 x<y,就执行函数 tf.add(x,z) , 否则 就执行 tf.square(y)。 在这里有liangdian注意:

  第一点,条件判断后执行命令都采用匿名函数的方式;

  第二点,因为tensorflow是计算图的形式,所以其实无论x与y的大小如何,后面的两条命令都是运行过的,只是最后根据x,y的大小决定数据流图走哪条路。

  tf,cond()函数,一般就掌握到能看懂代码,知道这个代码可以简化代码就够了,具体细节知道就好了,忘了也没事。下面再列两个我遇到的例子:

# remove alpha channel if present
input_image = tf.cond(tf.equal(tf.shape(input_image)[2], 4), lambda: input_image[:,:,:3], lambda: input_image)
# convert grayscale to RGB
input_image = tf.cond(tf.equal(tf.shape(input_image)[2], 1), lambda: tf.image.grayscale_to_rgb(input_image), lambda: input_image)

 

转载于:https://www.cnblogs.com/happy-sir/p/11530881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值