【Tensorflow】Tensor的比较运算

 2023-09-07 阅读 17 评论 0

摘要:【fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处】 测试环境:Tensorflow 1.7.0、Tensorflow 1.14.0 Tensor 的比较运算   在Tensorflow中提供了六个Tensor大小比较的函数分别如下;其中,第一个参数是比较符号前的Tensor,

【fishing-pan:https://blog.csdn.net/u013921430 转载请注明出处】

测试环境:Tensorflow 1.7.0、Tensorflow 1.14.0

Tensor 的比较运算

  在Tensorflow中提供了六个Tensor大小比较的函数分别如下;其中,第一个参数是比较符号前的Tensor,第二个是符号后的Tensor。

compa=tf.less(A,B)             ##  <
compa=tf.greater(A,B)         ##  >
compa=tf.greater_equal(A,B)   ##  >=
compa=tf.less_equal(A,B)      ##  <=
compa=tf.equal(A,B)           ##  ==
compa=tf.not_equal(A,B)       ##  !=

  以 tf.less() 函数为例,它返回的是一个shape与输入的Tensor相同的tf.bool类型的Tensor,并且要求输入Tensor的shape必须一致,且类型必须以下类型中一种;

`float32`, `float64`, `int32`, `uint8`, `int16`, `int8`, `int64`, 
`bfloat16`, `uint16`, `half`, `uint32`, `uint64`.

  而在numpy中也有同名的函数与这些函数一一对应,但是往往我们都直接使用运算符进行比较。
  其实Tensorflow也支持 &gt;&gt;>&lt;&lt;<&lt;=&lt;=<=&gt;=&gt;=>= 四种运算符,但是另外的 ==\textbf{==}== !=\textbf{!=}!= 运算符的功能与Python中的却不同,他们的功能与Python中的 is is not 相同,是用于判断被比较的两个参数是否是同一个量,他们返回的不再是Tensor,也不是数组,而是普通的bool类型的量。

测试代码&输出

tensorflow。  测试代码和输出分别如下

import tensorflow as tf
import numpy as npA=tf.constant([[20,20],[10,15]],dtype=tf.int8,shape=[2,2])
B=tf.constant([[20,20],[10,10]],dtype=tf.int8,shape=[2,2])C=(A==B)
compa=tf.equal(A,B)             ##  <B_=B
C_=(B_==B)#compa=tf.greater(A,B)         ##  >
#compa=tf.greater_equal(A,B)   ##  >=
#compa=tf.less_equal(A,B)      ##  <=
#compa=tf.equal(A,B)           ##  ==
#compa=tf.not_equal(A,B)       ##  !=with tf.Session() as sess:print('A is equal to B ?:',sess.run(compa))print('A == B ?:  ',C)
print('B_ == B?:  ',C_)D=np.array([20,20],dtype=np.int)
E=np.array([20,20],dtype=np.int)F=(D is not E)
print('D is not E?:  ',F)

测试输出
在这里插入图片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/12624.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息