Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
034c7787
MegEngine
项目概览
MegEngine 天元
/
MegEngine
1 年多 前同步成功
通知
404
Star
4705
Fork
582
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MegEngine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
034c7787
编写于
9月 27, 2022
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(mge/functional): support non-float32 input when call isxxx
GitOrigin-RevId: ea8f394958f2789b142767b065ba541053dbab66
上级
e9cc5237
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
1 deletion
+25
-1
imperative/python/megengine/functional/math.py
imperative/python/megengine/functional/math.py
+25
-1
未找到文件。
imperative/python/megengine/functional/math.py
浏览文件 @
034c7787
...
...
@@ -3,6 +3,8 @@ import collections
import
math
from
typing
import
Iterable
,
Optional
,
Sequence
,
Tuple
,
Union
import
numpy
as
np
from
..core._imperative_rt.core2
import
Const
,
apply
from
..core._imperative_rt.ops
import
SubgraphBuilder
as
_SubgraphBuilder
from
..core.ops
import
builtin
...
...
@@ -11,7 +13,7 @@ from ..core.tensor.utils import _normalize_axis
from
..tensor
import
Tensor
from
..utils.deprecation
import
deprecated_kwargs_default
from
.elemwise
import
_elemwise_multi_type
,
clip
from
.tensor
import
expand_dims
,
squeeze
from
.tensor
import
broadcast_to
,
expand_dims
,
squeeze
__all__
=
[
"argmax"
,
...
...
@@ -55,11 +57,22 @@ def isnan(inp: Tensor) -> Tensor:
The returned array should have a data type of bool.
Examples:
>>> F.isnan(Tensor(1))
Tensor(False, dtype=bool, device=xpux:0)
.. TODO: Remove these comments when _elemwise_multi_type support scalar input
.. >>> F.isnan(Tensor(float("nan")))
.. Tensor(True, dtype=bool, device=xpux:0)
Element-wise isnan:
>>> x = Tensor([1, float("nan"), 0])
>>> F.isnan(x)
Tensor([False True False], dtype=bool, device=xpux:0)
"""
if
not
np
.
issubdtype
(
inp
.
dtype
,
np
.
floating
):
return
broadcast_to
(
Tensor
(
False
),
inp
.
shape
)
return
_elemwise_multi_type
(
inp
,
mode
=
"isnan"
,
dtype
=
"bool"
)
...
...
@@ -79,10 +92,21 @@ def isinf(inp: Tensor) -> Tensor:
Examples:
>>> F.isinf(Tensor(1))
Tensor(False, dtype=bool, device=xpux:0)
.. TODO: Remove these comments when _elemwise_multi_type support scalar input
.. >>> F.isinf(Tensor(float("inf")))
.. Tensor(True, dtype=bool, device=xpux:0)
Element-wise isinf:
>>> x = Tensor([1, float("inf"), 0])
>>> F.isinf(x)
Tensor([False True False], dtype=bool, device=xpux:0)
"""
if
not
np
.
issubdtype
(
inp
.
dtype
,
np
.
floating
):
return
broadcast_to
(
Tensor
(
False
),
inp
.
shape
)
return
_elemwise_multi_type
(
inp
,
mode
=
"isinf"
,
dtype
=
"bool"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录