isnan¶
返回输入 tensor 的每一个值是否为 +/-NaN,要求 输入 x
为 SparseCooTensor 或 SparseCsrTensor 。
参数¶
x (Tensor) - 输入的稀疏 Tensor,可以为 Coo 或 Csr 格式,数据类型为:float16、float32、float64、int32、int64。
name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。
返回¶
多维稀疏 Tensor
,每个元素是一个 bool 值,表示输入 x
的每个元素是否为 +/-NaN,稀疏格式与 x
相同 。
代码示例¶
import paddle
import numpy as np
format = "coo"
np_x = np.asarray([[[0., 0], [1., 2.]], [[0., 0], [3., float('nan')]]])
dense_x = paddle.to_tensor(np_x)
if format == "coo":
sparse_x = dense_x.to_sparse_coo(len(np_x.shape))
else:
sparse_x = dense_x.to_sparse_csr()
sparse_out = paddle.sparse.isnan(sparse_x)
print(sparse_out)
# Tensor(shape=[2, 2, 2], dtype=paddle.bool, place=Place(gpu:0), stop_gradient=True,
# indices=[[0, 0, 1, 1],
# [1, 1, 1, 1],
# [0, 1, 0, 1]],
# values=[False, False, False, True ])