tensorflow中判定两tensor是否完全相等

本文介绍了在TensorFlow中如何判断两个Tensor是否完全相等,重点讲解了如何构造条件函数来实现这一操作,避免了直接使用if语句导致的错误。文章通过对比numpy中的(narray1 == narray2).all()方法,逐步解析了在TensorFlow中实现相同功能的cond3()函数的工作原理。
摘要由CSDN通过智能技术生成

tensorflow中判定两tensor是否完全相等

作用:等价于(narray1 == narray2).all()

1.tensorflow中不能使用while/if/for等,ta的循环语句为tf.while_loop()(笔者这里走了弯路,在没学习tensorflow基本语法时就开始了构建模型T_T,结果运行时报错,找了好久才找到错误,望读者吸取教训╮( ̄▽  ̄)╭)。
2.要使用tf.while_loop函数取代while…break,便需要先构造cond()、body()这两个函数,然后使用x = tf.while_loop(cond, body, x)。while_loop()的详细使用方法这里不再赘述,网上已经有很多教程了。


在numpy中判定两个矩阵是否完全相等的代码是(narray1 == narray2).all(),如果narray1和narray2在每个对应的位置上都相等则返回true,反之返回false。这段代码常用的格式如下:

#代码1
while True:
    ....
    if (narray1 == narray2).all():
        break
    ...

在tensorflow中要写成

#代码2
def cond():
    return a #f返回只有一个值的tensorflow的bool类型张量
def body():
    return b
x = tf.while_loop(cond, body, x)

其中要用后者cond()代替前者if。
下面介绍cond的构造方法。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故事已经翻了几页

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值