Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MegEngine 天元
MegEngine
提交
d225cbcd
MegEngine
项目概览
MegEngine 天元
/
MegEngine
接近 2 年 前同步成功
通知
414
Star
4708
Fork
583
代码
文件
提交
分支
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看板
提交
d225cbcd
编写于
9月 28, 2020
作者:
M
Megvii Engine Team
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(mge): add device name check
GitOrigin-RevId: d9910b6275c5b7eaf89c56584c1cbe39fe24becf
上级
be236642
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
10 addition
and
5 deletion
+10
-5
imperative/python/megengine/device.py
imperative/python/megengine/device.py
+3
-4
imperative/python/megengine/tensor.py
imperative/python/megengine/tensor.py
+7
-1
未找到文件。
imperative/python/megengine/device.py
浏览文件 @
d225cbcd
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
# software distributed under the License is distributed on an
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
import
os
import
os
import
re
from
.core._imperative_rt.common
import
CompNode
,
DeviceType
from
.core._imperative_rt.common
import
CompNode
,
DeviceType
from
.core._imperative_rt.common
import
set_prealloc_config
as
_set_prealloc_config
from
.core._imperative_rt.common
import
set_prealloc_config
as
_set_prealloc_config
...
@@ -22,10 +23,8 @@ __all__ = [
...
@@ -22,10 +23,8 @@ __all__ = [
def
_valid_device
(
inp
):
def
_valid_device
(
inp
):
if
isinstance
(
inp
,
str
)
and
len
(
inp
)
==
4
:
if
isinstance
(
inp
,
str
)
and
re
.
match
(
"^[cxg]pu(\d+|\d+:\d+|x)$"
,
inp
):
if
inp
[
0
]
in
{
"x"
,
"c"
,
"g"
}
and
inp
[
1
:
3
]
==
"pu"
:
return
True
if
inp
[
3
]
==
"x"
or
inp
[
3
].
isdigit
():
return
True
return
False
return
False
...
...
imperative/python/megengine/tensor.py
浏览文件 @
d225cbcd
...
@@ -14,7 +14,7 @@ from .core import Tensor as _Tensor
...
@@ -14,7 +14,7 @@ from .core import Tensor as _Tensor
from
.core.ops.builtin
import
Copy
from
.core.ops.builtin
import
Copy
from
.core.tensor.core
import
apply
from
.core.tensor.core
import
apply
from
.core.tensor.raw_tensor
import
as_device
from
.core.tensor.raw_tensor
import
as_device
from
.device
import
get_default_device
from
.device
import
_valid_device
,
get_default_device
from
.utils.deprecation
import
deprecated
from
.utils.deprecation
import
deprecated
...
@@ -37,6 +37,12 @@ class Tensor(_Tensor):
...
@@ -37,6 +37,12 @@ class Tensor(_Tensor):
self
*=
0
self
*=
0
def
to
(
self
,
device
):
def
to
(
self
,
device
):
if
isinstance
(
device
,
str
)
and
not
_valid_device
(
device
):
raise
ValueError
(
"invalid device name {}. For the correct format of the device name, please refer to the instruction of megengine.device.set_default_device()"
.
format
(
device
)
)
cn
=
as_device
(
device
).
to_c
()
cn
=
as_device
(
device
).
to_c
()
return
apply
(
Copy
(
comp_node
=
cn
),
self
)[
0
]
return
apply
(
Copy
(
comp_node
=
cn
),
self
)[
0
]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录