Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
c0c0b098
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c0c0b098
编写于
4月 17, 2020
作者:
M
mindspore-ci-bot
提交者:
Gitee
4月 17, 2020
浏览文件
操作
浏览文件
下载
差异文件
!378 Multiple Iterators can cause performance problem
Merge pull request !378 from h.farahat/multi_itr
上级
7874e96b
fb6c7ba2
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
13 addition
and
5 deletion
+13
-5
mindspore/ccsrc/dataset/api/python_bindings.cc
mindspore/ccsrc/dataset/api/python_bindings.cc
+4
-2
mindspore/dataset/engine/iterators.py
mindspore/dataset/engine/iterators.py
+9
-3
未找到文件。
mindspore/ccsrc/dataset/api/python_bindings.cc
浏览文件 @
c0c0b098
...
...
@@ -225,11 +225,13 @@ void bindTensor(py::module *m) {
(
void
)
py
::
class_
<
DataType
>
(
*
m
,
"DataType"
)
.
def
(
py
::
init
<
std
::
string
>
())
.
def
(
py
::
self
==
py
::
self
)
.
def
(
"__str__"
,
&
DataType
::
ToString
);
.
def
(
"__str__"
,
&
DataType
::
ToString
)
.
def
(
"__deepcopy__"
,
[](
py
::
object
&
t
,
py
::
dict
memo
)
{
return
t
;
});
}
void
bindTensorOps1
(
py
::
module
*
m
)
{
(
void
)
py
::
class_
<
TensorOp
,
std
::
shared_ptr
<
TensorOp
>>
(
*
m
,
"TensorOp"
);
(
void
)
py
::
class_
<
TensorOp
,
std
::
shared_ptr
<
TensorOp
>>
(
*
m
,
"TensorOp"
)
.
def
(
"__deepcopy__"
,
[](
py
::
object
&
t
,
py
::
dict
memo
)
{
return
t
;
});
(
void
)
py
::
class_
<
NormalizeOp
,
TensorOp
,
std
::
shared_ptr
<
NormalizeOp
>>
(
*
m
,
"NormalizeOp"
,
"Tensor operation to normalize an image. Takes mean and std."
)
...
...
mindspore/dataset/engine/iterators.py
浏览文件 @
c0c0b098
...
...
@@ -15,6 +15,8 @@
"""Built-in iterators.
"""
from
abc
import
abstractmethod
import
copy
import
weakref
from
mindspore._c_dataengine
import
DEPipeline
from
mindspore._c_dataengine
import
OpName
...
...
@@ -27,7 +29,9 @@ ITERATORS_LIST = list()
def
_cleanup
():
for
itr
in
ITERATORS_LIST
:
itr
.
release
()
iter_ref
=
itr
()
if
itr
is
not
None
:
iter_ref
.
release
()
def
alter_tree
(
node
):
...
...
@@ -73,8 +77,10 @@ class Iterator:
"""
def
__init__
(
self
,
dataset
):
ITERATORS_LIST
.
append
(
self
)
self
.
dataset
=
alter_tree
(
dataset
)
ITERATORS_LIST
.
append
(
weakref
.
ref
(
self
))
# create a copy of tree and work on it.
self
.
dataset
=
copy
.
deepcopy
(
dataset
)
self
.
dataset
=
alter_tree
(
self
.
dataset
)
if
not
self
.
__is_tree
():
raise
ValueError
(
"The data pipeline is not a tree (i.e., one node has 2 consumers)"
)
self
.
depipeline
=
DEPipeline
()
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录