.. _cn_api_tensor_equal: equal ------------------------------- .. py:function:: paddle.equal(x, y, axis=-1, name=None) :alias_main: paddle.equal :alias: paddle.equal,paddle.tensor.equal,paddle.tensor.logic.equal 该OP返回 :math:`x==y` 逐元素比较x和y是否相等,所有的元素都相同则返回True,否则返回False。 参数: - **x** (Variable) - 输入Tensor,支持的数据类型包括 float32, float64,int32, int64。 - **y** (Variable) - 输入Tensor,支持的数据类型包括 float32, float64, int32, int64。 - **axis** (int, 可选) - 如果输入的两个Tensor的维度不相同,并且如果y的维度是x的一部分, 那就可以通过broadcast的方式来进行op计算。axis是进行broadcast的开始的维度,具体broadcast的方式可以参考elementwise_add。 - **name** (str,可选)- 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 返回:输出结果的Tensor,输出Tensor只有一个元素值,元素值是True或者False,Tensor数据类型为bool。 返回类型:变量(Variable) **代码示例**: .. code-block:: python import paddle.fluid as fluid import paddle import numpy as np label = fluid.layers.assign(np.array([3, 4], dtype="int32")) label_1 = fluid.layers.assign(np.array([1, 2], dtype="int32")) limit = fluid.layers.assign(np.array([3, 4], dtype="int32")) out1 = paddle.equal(x=label, y=limit) #out1=[True] out2 = paddle.equal(x=label_1, y=limit) #out2=[False] .. code-block:: python import paddle.fluid as fluid import paddle import numpy as np def gen_data(): return { "x": np.ones((2, 3, 4, 5)).astype('float32'), "y": np.zeros((3, 4)).astype('float32') } x = fluid.data(name="x", shape=[2,3,4,5], dtype='float32') y = fluid.data(name="y", shape=[3,4], dtype='float32') out = paddle.equal(x, y, axis=1) place = fluid.CPUPlace() exe = fluid.Executor(place) res = exe.run(feed=gen_data(), fetch_list=[out]) print(res[0]) #[False]