Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
fdf62e1e
P
Paddle
项目概览
机器未来
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
fdf62e1e
编写于
12月 09, 2021
作者:
B
Baibaifan
提交者:
GitHub
12月 09, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add varbase init name (#37947)
上级
a9e0d28c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
13 deletion
+22
-13
paddle/fluid/pybind/imperative.cc
paddle/fluid/pybind/imperative.cc
+22
-13
未找到文件。
paddle/fluid/pybind/imperative.cc
浏览文件 @
fdf62e1e
...
...
@@ -252,12 +252,16 @@ static void InitVarBaseFromNumpyWithArgDefault(imperative::VarBase *self,
InitVarBaseAndTensor
(
self
,
array
,
place
,
""
);
}
static
void
InitVarBaseFromTensorWithArgDefault
(
imperative
::
VarBase
*
self
,
const
framework
::
Tensor
&
tensor
)
{
static
void
InitVarBaseFromTensorWithArgDefault
(
imperative
::
VarBase
*
self
,
const
framework
::
Tensor
&
tensor
,
const
std
::
string
&
name
)
{
VLOG
(
4
)
<<
"Init VarBase"
;
auto
place
=
imperative
::
GetCurrentTracer
()
->
ExpectedPlace
();
new
(
self
)
imperative
::
VarBase
(
imperative
::
GetCurrentTracer
()
->
GenerateUniqueName
(
"generated_tensor"
));
auto
name_
=
name
==
""
?
imperative
::
GetCurrentTracer
()
->
GenerateUniqueName
(
"generated_tensor"
)
:
name
;
new
(
self
)
imperative
::
VarBase
(
name_
);
self
->
SetPersistable
(
false
);
self
->
SetType
(
framework
::
proto
::
VarType
::
LOD_TENSOR
);
self
->
SetDataType
(
tensor
.
type
());
...
...
@@ -275,10 +279,14 @@ static void InitVarBaseFromTensorWithArgDefault(
template
<
typename
P
>
static
void
InitVarBaseFromTensorWithArg
(
imperative
::
VarBase
*
self
,
const
framework
::
Tensor
&
tensor
,
const
P
&
place
)
{
const
P
&
place
,
const
std
::
string
&
name
)
{
VLOG
(
4
)
<<
"Init VarBase"
;
new
(
self
)
imperative
::
VarBase
(
imperative
::
GetCurrentTracer
()
->
GenerateUniqueName
(
"generated_tensor"
));
auto
name_
=
name
==
""
?
imperative
::
GetCurrentTracer
()
->
GenerateUniqueName
(
"generated_tensor"
)
:
name
;
new
(
self
)
imperative
::
VarBase
(
name_
);
self
->
SetPersistable
(
false
);
self
->
SetType
(
framework
::
proto
::
VarType
::
LOD_TENSOR
);
self
->
SetDataType
(
tensor
.
type
());
...
...
@@ -917,17 +925,18 @@ void BindImperative(py::module *m_ptr) {
py
::
arg
(
"zero_copy"
)
=
false
,
py
::
arg
(
"name"
)
=
""
,
py
::
arg
(
"stop_gradient"
)
=
-
1
)
.
def
(
"__init__"
,
&
InitVarBaseFromNumpyWithArgDefault
,
py
::
arg
(
"value"
))
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArgDefault
,
py
::
arg
(
"tensor"
))
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArgDefault
,
py
::
arg
(
"tensor"
),
py
::
arg
(
"name"
)
=
""
)
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArg
<
platform
::
CPUPlace
>
,
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
))
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
)
,
py
::
arg
(
"name"
)
=
""
)
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArg
<
platform
::
XPUPlace
>
,
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
))
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
)
,
py
::
arg
(
"name"
)
=
""
)
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArg
<
platform
::
CUDAPlace
>
,
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
))
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
)
,
py
::
arg
(
"name"
)
=
""
)
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArg
<
platform
::
CUDAPinnedPlace
>
,
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
))
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
)
,
py
::
arg
(
"name"
)
=
""
)
.
def
(
"__init__"
,
&
InitVarBaseFromTensorWithArg
<
platform
::
NPUPlace
>
,
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
))
py
::
arg
(
"tensor"
),
py
::
arg
(
"place"
)
,
py
::
arg
(
"name"
)
=
""
)
.
def
(
"__init__"
,
&
InitVarBaseFromNumpyWithKwargs
)
.
def
(
"__setitem_varbase__"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录