Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
flybirding10011
DI-treetensor
提交
9a61cbec
D
DI-treetensor
项目概览
flybirding10011
/
DI-treetensor
与 Fork 源项目一致
Fork自
OpenDILab开源决策智能平台 / DI-treetensor
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DI-treetensor
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9a61cbec
编写于
9月 28, 2021
作者:
HansBug
😆
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dev(hansbug): add auto attr into Tensor class
上级
a1957a0a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
36 addition
and
10 deletion
+36
-10
treetensor/torch/tensor/__init__.py
treetensor/torch/tensor/__init__.py
+5
-0
treetensor/torch/tensor/attr.py
treetensor/torch/tensor/attr.py
+9
-0
treetensor/torch/tensor/tensor.py
treetensor/torch/tensor/tensor.py
+22
-10
未找到文件。
treetensor/torch/tensor/__init__.py
0 → 100644
浏览文件 @
9a61cbec
from
.tensor
import
Tensor
__all__
=
[
'Tensor'
]
treetensor/torch/tensor/attr.py
0 → 100644
浏览文件 @
9a61cbec
from
treevalue
import
tree_class
from
.tensor
import
Tensor
from
..base
import
Torch
@
tree_class
(
return_type
=
Tensor
)
class
TensorMethod
(
Torch
):
pass
treetensor/torch/tensor.py
→
treetensor/torch/tensor
/tensor
.py
浏览文件 @
9a61cbec
...
...
@@ -3,16 +3,12 @@ import torch
from
treevalue
import
method_treelize
,
TreeValue
from
treevalue.utils
import
post_process
from
.base
import
Torch
,
auto_torch
,
rmreduce
,
post_reduce
,
auto_reduce
from
.size
import
Size
from
..common
import
Object
,
ireduce
,
clsmeta
,
return_self
from
..numpy
import
ndarray
from
..utils
import
current_names
,
class_autoremove
,
replaceable_partial
from
..utils
import
doc_from_base
as
original_doc_from_base
__all__
=
[
'Tensor'
]
from
..base
import
Torch
,
auto_torch
,
rmreduce
,
post_reduce
,
auto_reduce
from
..size
import
Size
from
...common
import
Object
,
ireduce
,
clsmeta
,
return_self
from
...numpy
import
ndarray
from
...utils
import
current_names
,
class_autoremove
,
replaceable_partial
from
...utils
import
doc_from_base
as
original_doc_from_base
doc_from_base
=
replaceable_partial
(
original_doc_from_base
,
base
=
torch
.
Tensor
)
...
...
@@ -64,6 +60,22 @@ class Tensor(Torch, metaclass=clsmeta(_to_tensor, allow_dict=True)):
"""
super
(
Torch
,
self
).
__init__
(
data
)
@
method_treelize
(
return_type
=
Object
)
def
__get_attr
(
self
,
key
):
return
getattr
(
self
,
key
)
def
_attr_extern
(
self
,
key
):
tree
=
self
.
__get_attr
(
key
)
if
tree
.
map
(
lambda
x
:
torch
.
is_tensor
(
x
)).
all
():
type_
=
Tensor
elif
tree
.
map
(
lambda
x
:
callable
(
x
)).
all
():
from
.attr
import
TensorMethod
type_
=
TensorMethod
else
:
type_
=
Object
return
tree
.
type
(
type_
)
@
doc_from_base
()
@
method_treelize
(
return_type
=
ndarray
)
def
numpy
(
self
:
torch
.
Tensor
)
->
np
.
ndarray
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录