Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle-Lite
提交
e6ac5a2a
P
Paddle-Lite
项目概览
PaddlePaddle
/
Paddle-Lite
通知
331
Star
4
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
271
列表
看板
标记
里程碑
合并请求
78
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle-Lite
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
271
Issue
271
列表
看板
标记
里程碑
合并请求
78
合并请求
78
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e6ac5a2a
编写于
9月 18, 2018
作者:
xiebaiyuan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add mdl loader and paddle loader
todo convert
上级
2cada5ed
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
1493 addition
and
0 deletion
+1493
-0
python/tools/mdl2fluid/framework.proto
python/tools/mdl2fluid/framework.proto
+176
-0
python/tools/mdl2fluid/framework_pb2.py
python/tools/mdl2fluid/framework_pb2.py
+1141
-0
python/tools/mdl2fluid/loader.py
python/tools/mdl2fluid/loader.py
+18
-0
python/tools/mdl2fluid/mdl2fluid.py
python/tools/mdl2fluid/mdl2fluid.py
+112
-0
python/tools/mdl2fluid/model_reader.py
python/tools/mdl2fluid/model_reader.py
+30
-0
python/tools/mdl2fluid/op_types.py
python/tools/mdl2fluid/op_types.py
+16
-0
未找到文件。
python/tools/mdl2fluid/framework.proto
0 → 100644
浏览文件 @
e6ac5a2a
/* Copyright (c) 2016 PaddlePaddle Authors. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
syntax
=
"proto2"
;
option
optimize_for
=
LITE_RUNTIME
;
package
paddle_mobile
.
framework.proto
;
enum
AttrType
{
INT
=
0
;
FLOAT
=
1
;
STRING
=
2
;
INTS
=
3
;
FLOATS
=
4
;
STRINGS
=
5
;
BOOLEAN
=
6
;
BOOLEANS
=
7
;
BLOCK
=
8
;
LONG
=
9
;
}
// OpDesc describes an instance of a C++ framework::OperatorBase
// derived class type.
message
OpDesc
{
message
Attr
{
required
string
name
=
1
;
required
AttrType
type
=
2
;
optional
int32
i
=
3
;
optional
float
f
=
4
;
optional
string
s
=
5
;
repeated
int32
ints
=
6
;
repeated
float
floats
=
7
;
repeated
string
strings
=
8
;
optional
bool
b
=
10
;
repeated
bool
bools
=
11
;
optional
int32
block_idx
=
12
;
optional
int64
l
=
13
;
};
message
Var
{
required
string
parameter
=
1
;
repeated
string
arguments
=
2
;
};
required
string
type
=
3
;
repeated
Var
inputs
=
1
;
repeated
Var
outputs
=
2
;
repeated
Attr
attrs
=
4
;
optional
bool
is_target
=
5
[
default
=
false
];
};
// OpProto describes a C++ framework::OperatorBase derived class.
message
OpProto
{
// VarProto describes the C++ type framework::Variable.
message
Var
{
required
string
name
=
1
;
required
string
comment
=
2
;
optional
bool
duplicable
=
3
[
default
=
false
];
optional
bool
intermediate
=
4
[
default
=
false
];
optional
bool
dispensable
=
5
[
default
=
false
];
}
// AttrProto describes the C++ type Attribute.
message
Attr
{
required
string
name
=
1
;
required
AttrType
type
=
2
;
required
string
comment
=
3
;
// If that attribute is generated, it means the Paddle third
// language binding has responsibility to fill that
// attribute. End-User should not set that attribute.
optional
bool
generated
=
4
[
default
=
false
];
}
required
string
type
=
1
;
repeated
Var
inputs
=
2
;
repeated
Var
outputs
=
3
;
repeated
Attr
attrs
=
4
;
required
string
comment
=
5
;
}
message
VarType
{
enum
Type
{
// Pod Types
BOOL
=
0
;
INT16
=
1
;
INT32
=
2
;
INT64
=
3
;
FP16
=
4
;
FP32
=
5
;
FP64
=
6
;
// Other types that may need additional descriptions
LOD_TENSOR
=
7
;
SELECTED_ROWS
=
8
;
FEED_MINIBATCH
=
9
;
FETCH_LIST
=
10
;
STEP_SCOPES
=
11
;
LOD_RANK_TABLE
=
12
;
LOD_TENSOR_ARRAY
=
13
;
PLACE_LIST
=
14
;
READER
=
15
;
CHANNEL
=
16
;
// Any runtime decided variable type is raw
// raw variables should manage their own allocations
// in operators like nccl_op
RAW
=
17
;
TUPLE
=
18
;
}
required
Type
type
=
1
;
message
TensorDesc
{
// Should only be PODType. Is enforced in C++
required
Type
data_type
=
1
;
repeated
int64
dims
=
2
;
// [UNK, 640, 480] is saved as [-1, 640, 480]
}
optional
TensorDesc
selected_rows
=
2
;
message
LoDTensorDesc
{
required
TensorDesc
tensor
=
1
;
optional
int32
lod_level
=
2
[
default
=
0
];
}
optional
LoDTensorDesc
lod_tensor
=
3
;
message
LoDTensorArrayDesc
{
required
TensorDesc
tensor
=
1
;
optional
int32
lod_level
=
2
[
default
=
0
];
}
optional
LoDTensorArrayDesc
tensor_array
=
4
;
message
ReaderDesc
{
repeated
LoDTensorDesc
lod_tensor
=
1
;
}
optional
ReaderDesc
reader
=
5
;
message
ChannelDesc
{
required
Type
data_type
=
1
;
required
int64
capacity
=
2
;
}
optional
ChannelDesc
channel
=
6
;
message
Tuple
{
repeated
Type
element_type
=
1
;
}
optional
Tuple
tuple
=
7
;
}
message
VarDesc
{
required
string
name
=
1
;
required
VarType
type
=
2
;
optional
bool
persistable
=
3
[
default
=
false
];
}
message
BlockDesc
{
required
int32
idx
=
1
;
required
int32
parent_idx
=
2
;
repeated
VarDesc
vars
=
3
;
repeated
OpDesc
ops
=
4
;
optional
int32
forward_block_idx
=
5
[
default
=
-
1
];
}
// Please refer to
// https://github.com/PaddlePaddle/Paddle/blob/develop/doc/design/program.md
// for more details.
// TODO(panyx0718): A model can have multiple programs. Need a
// way to distinguish them. Maybe ID or name?
message
ProgramDesc
{
repeated
BlockDesc
blocks
=
1
;
}
python/tools/mdl2fluid/framework_pb2.py
0 → 100644
浏览文件 @
e6ac5a2a
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: framework.proto
import
sys
_b
=
sys
.
version_info
[
0
]
<
3
and
(
lambda
x
:
x
)
or
(
lambda
x
:
x
.
encode
(
'latin1'
))
from
google.protobuf.internal
import
enum_type_wrapper
from
google.protobuf
import
descriptor
as
_descriptor
from
google.protobuf
import
message
as
_message
from
google.protobuf
import
reflection
as
_reflection
from
google.protobuf
import
symbol_database
as
_symbol_database
from
google.protobuf
import
descriptor_pb2
# @@protoc_insertion_point(imports)
_sym_db
=
_symbol_database
.
Default
()
DESCRIPTOR
=
_descriptor
.
FileDescriptor
(
name
=
'framework.proto'
,
package
=
'paddle_mobile.framework.proto'
,
syntax
=
'proto2'
,
serialized_pb
=
_b
(
'
\n\x0f\x66
ramework.proto
\x12\x1d
paddle_mobile.framework.proto
\"\xe5\x03\n\x06
OpDesc
\x12\x0c\n\x04
type
\x18\x03
\x02
(
\t\x12\x39\n\x06
inputs
\x18\x01
\x03
(
\x0b\x32
).paddle_mobile.framework.proto.OpDesc.Var
\x12
:
\n\x07
outputs
\x18\x02
\x03
(
\x0b\x32
).paddle_mobile.framework.proto.OpDesc.Var
\x12\x39\n\x05\x61
ttrs
\x18\x04
\x03
(
\x0b\x32
*.paddle_mobile.framework.proto.OpDesc.Attr
\x12\x18\n\t
is_target
\x18\x05
\x01
(
\x08
:
\x05\x66\x61
lse
\x1a\xd3\x01\n\x04\x41
ttr
\x12\x0c\n\x04
name
\x18\x01
\x02
(
\t\x12\x35\n\x04
type
\x18\x02
\x02
(
\x0e\x32\'
.paddle_mobile.framework.proto.AttrType
\x12\t\n\x01
i
\x18\x03
\x01
(
\x05\x12\t\n\x01\x66\x18\x04
\x01
(
\x02\x12\t\n\x01
s
\x18\x05
\x01
(
\t\x12\x0c\n\x04
ints
\x18\x06
\x03
(
\x05\x12\x0e\n\x06\x66
loats
\x18\x07
\x03
(
\x02\x12\x0f\n\x07
strings
\x18\x08
\x03
(
\t\x12\t\n\x01\x62\x18\n
\x01
(
\x08\x12\r\n\x05\x62
ools
\x18\x0b
\x03
(
\x08\x12\x11\n\t
block_idx
\x18\x0c
\x01
(
\x05\x12\t\n\x01
l
\x18\r
\x01
(
\x03\x1a
+
\n\x03
Var
\x12\x11\n\t
parameter
\x18\x01
\x02
(
\t\x12\x11\n\t
arguments
\x18\x02
\x03
(
\t\"\xcf\x03\n\x07
OpProto
\x12\x0c\n\x04
type
\x18\x01
\x02
(
\t\x12
:
\n\x06
inputs
\x18\x02
\x03
(
\x0b\x32
*.paddle_mobile.framework.proto.OpProto.Var
\x12
;
\n\x07
outputs
\x18\x03
\x03
(
\x0b\x32
*.paddle_mobile.framework.proto.OpProto.Var
\x12
:
\n\x05\x61
ttrs
\x18\x04
\x03
(
\x0b\x32
+.paddle_mobile.framework.proto.OpProto.Attr
\x12\x0f\n\x07\x63
omment
\x18\x05
\x02
(
\t\x1a
x
\n\x03
Var
\x12\x0c\n\x04
name
\x18\x01
\x02
(
\t\x12\x0f\n\x07\x63
omment
\x18\x02
\x02
(
\t\x12\x19\n\n
duplicable
\x18\x03
\x01
(
\x08
:
\x05\x66\x61
lse
\x12\x1b\n\x0c
intermediate
\x18\x04
\x01
(
\x08
:
\x05\x66\x61
lse
\x12\x1a\n\x0b\x64
ispensable
\x18\x05
\x01
(
\x08
:
\x05\x66\x61
lse
\x1a
v
\n\x04\x41
ttr
\x12\x0c\n\x04
name
\x18\x01
\x02
(
\t\x12\x35\n\x04
type
\x18\x02
\x02
(
\x0e\x32\'
.paddle_mobile.framework.proto.AttrType
\x12\x0f\n\x07\x63
omment
\x18\x03
\x02
(
\t\x12\x18\n\t
generated
\x18\x04
\x01
(
\x08
:
\x05\x66\x61
lse
\"\xb9\n\n\x07
VarType
\x12\x39\n\x04
type
\x18\x01
\x02
(
\x0e\x32
+.paddle_mobile.framework.proto.VarType.Type
\x12
H
\n\r
selected_rows
\x18\x02
\x01
(
\x0b\x32\x31
.paddle_mobile.framework.proto.VarType.TensorDesc
\x12
H
\n\n
lod_tensor
\x18\x03
\x01
(
\x0b\x32\x34
.paddle_mobile.framework.proto.VarType.LoDTensorDesc
\x12
O
\n\x0c
tensor_array
\x18\x04
\x01
(
\x0b\x32\x39
.paddle_mobile.framework.proto.VarType.LoDTensorArrayDesc
\x12\x41\n\x06
reader
\x18\x05
\x01
(
\x0b\x32\x31
.paddle_mobile.framework.proto.VarType.ReaderDesc
\x12\x43\n\x07\x63
hannel
\x18\x06
\x01
(
\x0b\x32\x32
.paddle_mobile.framework.proto.VarType.ChannelDesc
\x12
;
\n\x05
tuple
\x18\x07
\x01
(
\x0b\x32
,.paddle_mobile.framework.proto.VarType.Tuple
\x1a
Z
\n\n
TensorDesc
\x12
>
\n\t
data_type
\x18\x01
\x02
(
\x0e\x32
+.paddle_mobile.framework.proto.VarType.Type
\x12\x0c\n\x04\x64
ims
\x18\x02
\x03
(
\x03\x1a
h
\n\r
LoDTensorDesc
\x12\x41\n\x06
tensor
\x18\x01
\x02
(
\x0b\x32\x31
.paddle_mobile.framework.proto.VarType.TensorDesc
\x12\x14\n\t
lod_level
\x18\x02
\x01
(
\x05
:
\x01\x30\x1a
m
\n\x12
LoDTensorArrayDesc
\x12\x41\n\x06
tensor
\x18\x01
\x02
(
\x0b\x32\x31
.paddle_mobile.framework.proto.VarType.TensorDesc
\x12\x14\n\t
lod_level
\x18\x02
\x01
(
\x05
:
\x01\x30\x1a
V
\n\n
ReaderDesc
\x12
H
\n\n
lod_tensor
\x18\x01
\x03
(
\x0b\x32\x34
.paddle_mobile.framework.proto.VarType.LoDTensorDesc
\x1a
_
\n\x0b\x43
hannelDesc
\x12
>
\n\t
data_type
\x18\x01
\x02
(
\x0e\x32
+.paddle_mobile.framework.proto.VarType.Type
\x12\x10\n\x08\x63\x61
pacity
\x18\x02
\x02
(
\x03\x1a
J
\n\x05
Tuple
\x12\x41\n\x0c\x65
lement_type
\x18\x01
\x03
(
\x0e\x32
+.paddle_mobile.framework.proto.VarType.Type
\"\x8e\x02\n\x04
Type
\x12\x08\n\x04\x42
OOL
\x10\x00\x12\t\n\x05
INT16
\x10\x01\x12\t\n\x05
INT32
\x10\x02\x12\t\n\x05
INT64
\x10\x03\x12\x08\n\x04\x46
P16
\x10\x04\x12\x08\n\x04\x46
P32
\x10\x05\x12\x08\n\x04\x46
P64
\x10\x06\x12\x0e\n\n
LOD_TENSOR
\x10\x07\x12\x11\n\r
SELECTED_ROWS
\x10\x08\x12\x12\n\x0e\x46\x45\x45\x44
_MINIBATCH
\x10\t\x12\x0e\n\n
FETCH_LIST
\x10\n\x12\x0f\n\x0b
STEP_SCOPES
\x10\x0b\x12\x12\n\x0e
LOD_RANK_TABLE
\x10\x0c\x12\x14\n\x10
LOD_TENSOR_ARRAY
\x10\r\x12\x0e\n\n
PLACE_LIST
\x10\x0e\x12\n\n\x06
READER
\x10\x0f\x12\x0b\n\x07\x43
HANNEL
\x10\x10\x12\x07\n\x03
RAW
\x10\x11\x12\t\n\x05
TUPLE
\x10\x12\"
i
\n\x07
VarDesc
\x12\x0c\n\x04
name
\x18\x01
\x02
(
\t\x12\x34\n\x04
type
\x18\x02
\x02
(
\x0b\x32
&.paddle_mobile.framework.proto.VarType
\x12\x1a\n\x0b
persistable
\x18\x03
\x01
(
\x08
:
\x05\x66\x61
lse
\"\xb5\x01\n\t
BlockDesc
\x12\x0b\n\x03
idx
\x18\x01
\x02
(
\x05\x12\x12\n\n
parent_idx
\x18\x02
\x02
(
\x05\x12\x34\n\x04
vars
\x18\x03
\x03
(
\x0b\x32
&.paddle_mobile.framework.proto.VarDesc
\x12\x32\n\x03
ops
\x18\x04
\x03
(
\x0b\x32
%.paddle_mobile.framework.proto.OpDesc
\x12\x1d\n\x11\x66
orward_block_idx
\x18\x05
\x01
(
\x05
:
\x02
-1
\"
G
\n\x0b
ProgramDesc
\x12\x38\n\x06\x62
locks
\x18\x01
\x03
(
\x0b\x32
(.paddle_mobile.framework.proto.BlockDesc*}
\n\x08\x41
ttrType
\x12\x07\n\x03
INT
\x10\x00\x12\t\n\x05\x46
LOAT
\x10\x01\x12\n\n\x06
STRING
\x10\x02\x12\x08\n\x04
INTS
\x10\x03\x12\n\n\x06\x46
LOATS
\x10\x04\x12\x0b\n\x07
STRINGS
\x10\x05\x12\x0b\n\x07\x42
OOLEAN
\x10\x06\x12\x0c\n\x08\x42
OOLEANS
\x10\x07\x12\t\n\x05\x42
LOCK
\x10\x08\x12\x08\n\x04
LONG
\x10\t
B
\x02
H
\x03
'
)
)
_sym_db
.
RegisterFileDescriptor
(
DESCRIPTOR
)
_ATTRTYPE
=
_descriptor
.
EnumDescriptor
(
name
=
'AttrType'
,
full_name
=
'paddle_mobile.framework.proto.AttrType'
,
filename
=
None
,
file
=
DESCRIPTOR
,
values
=
[
_descriptor
.
EnumValueDescriptor
(
name
=
'INT'
,
index
=
0
,
number
=
0
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FLOAT'
,
index
=
1
,
number
=
1
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'STRING'
,
index
=
2
,
number
=
2
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'INTS'
,
index
=
3
,
number
=
3
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FLOATS'
,
index
=
4
,
number
=
4
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'STRINGS'
,
index
=
5
,
number
=
5
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'BOOLEAN'
,
index
=
6
,
number
=
6
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'BOOLEANS'
,
index
=
7
,
number
=
7
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'BLOCK'
,
index
=
8
,
number
=
8
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'LONG'
,
index
=
9
,
number
=
9
,
options
=
None
,
type
=
None
),
],
containing_type
=
None
,
options
=
None
,
serialized_start
=
2708
,
serialized_end
=
2833
,
)
_sym_db
.
RegisterEnumDescriptor
(
_ATTRTYPE
)
AttrType
=
enum_type_wrapper
.
EnumTypeWrapper
(
_ATTRTYPE
)
INT
=
0
FLOAT
=
1
STRING
=
2
INTS
=
3
FLOATS
=
4
STRINGS
=
5
BOOLEAN
=
6
BOOLEANS
=
7
BLOCK
=
8
LONG
=
9
_VARTYPE_TYPE
=
_descriptor
.
EnumDescriptor
(
name
=
'Type'
,
full_name
=
'paddle_mobile.framework.proto.VarType.Type'
,
filename
=
None
,
file
=
DESCRIPTOR
,
values
=
[
_descriptor
.
EnumValueDescriptor
(
name
=
'BOOL'
,
index
=
0
,
number
=
0
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'INT16'
,
index
=
1
,
number
=
1
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'INT32'
,
index
=
2
,
number
=
2
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'INT64'
,
index
=
3
,
number
=
3
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FP16'
,
index
=
4
,
number
=
4
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FP32'
,
index
=
5
,
number
=
5
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FP64'
,
index
=
6
,
number
=
6
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'LOD_TENSOR'
,
index
=
7
,
number
=
7
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'SELECTED_ROWS'
,
index
=
8
,
number
=
8
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FEED_MINIBATCH'
,
index
=
9
,
number
=
9
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'FETCH_LIST'
,
index
=
10
,
number
=
10
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'STEP_SCOPES'
,
index
=
11
,
number
=
11
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'LOD_RANK_TABLE'
,
index
=
12
,
number
=
12
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'LOD_TENSOR_ARRAY'
,
index
=
13
,
number
=
13
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'PLACE_LIST'
,
index
=
14
,
number
=
14
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'READER'
,
index
=
15
,
number
=
15
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'CHANNEL'
,
index
=
16
,
number
=
16
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'RAW'
,
index
=
17
,
number
=
17
,
options
=
None
,
type
=
None
),
_descriptor
.
EnumValueDescriptor
(
name
=
'TUPLE'
,
index
=
18
,
number
=
18
,
options
=
None
,
type
=
None
),
],
containing_type
=
None
,
options
=
None
,
serialized_start
=
2072
,
serialized_end
=
2342
,
)
_sym_db
.
RegisterEnumDescriptor
(
_VARTYPE_TYPE
)
_OPDESC_ATTR
=
_descriptor
.
Descriptor
(
name
=
'Attr'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'name'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.name'
,
index
=
0
,
number
=
1
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.type'
,
index
=
1
,
number
=
2
,
type
=
14
,
cpp_type
=
8
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'i'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.i'
,
index
=
2
,
number
=
3
,
type
=
5
,
cpp_type
=
1
,
label
=
1
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'f'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.f'
,
index
=
3
,
number
=
4
,
type
=
2
,
cpp_type
=
6
,
label
=
1
,
has_default_value
=
False
,
default_value
=
float
(
0
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
's'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.s'
,
index
=
4
,
number
=
5
,
type
=
9
,
cpp_type
=
9
,
label
=
1
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'ints'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.ints'
,
index
=
5
,
number
=
6
,
type
=
5
,
cpp_type
=
1
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'floats'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.floats'
,
index
=
6
,
number
=
7
,
type
=
2
,
cpp_type
=
6
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'strings'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.strings'
,
index
=
7
,
number
=
8
,
type
=
9
,
cpp_type
=
9
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'b'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.b'
,
index
=
8
,
number
=
10
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
False
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'bools'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.bools'
,
index
=
9
,
number
=
11
,
type
=
8
,
cpp_type
=
7
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'block_idx'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.block_idx'
,
index
=
10
,
number
=
12
,
type
=
5
,
cpp_type
=
1
,
label
=
1
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'l'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Attr.l'
,
index
=
11
,
number
=
13
,
type
=
3
,
cpp_type
=
2
,
label
=
1
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
280
,
serialized_end
=
491
,
)
_OPDESC_VAR
=
_descriptor
.
Descriptor
(
name
=
'Var'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Var'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'parameter'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Var.parameter'
,
index
=
0
,
number
=
1
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'arguments'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.Var.arguments'
,
index
=
1
,
number
=
2
,
type
=
9
,
cpp_type
=
9
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
493
,
serialized_end
=
536
,
)
_OPDESC
=
_descriptor
.
Descriptor
(
name
=
'OpDesc'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.type'
,
index
=
0
,
number
=
3
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'inputs'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.inputs'
,
index
=
1
,
number
=
1
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'outputs'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.outputs'
,
index
=
2
,
number
=
2
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'attrs'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.attrs'
,
index
=
3
,
number
=
4
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'is_target'
,
full_name
=
'paddle_mobile.framework.proto.OpDesc.is_target'
,
index
=
4
,
number
=
5
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
True
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[
_OPDESC_ATTR
,
_OPDESC_VAR
,
],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
51
,
serialized_end
=
536
,
)
_OPPROTO_VAR
=
_descriptor
.
Descriptor
(
name
=
'Var'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Var'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'name'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Var.name'
,
index
=
0
,
number
=
1
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'comment'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Var.comment'
,
index
=
1
,
number
=
2
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'duplicable'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Var.duplicable'
,
index
=
2
,
number
=
3
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
True
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'intermediate'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Var.intermediate'
,
index
=
3
,
number
=
4
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
True
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'dispensable'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Var.dispensable'
,
index
=
4
,
number
=
5
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
True
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
762
,
serialized_end
=
882
,
)
_OPPROTO_ATTR
=
_descriptor
.
Descriptor
(
name
=
'Attr'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Attr'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'name'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Attr.name'
,
index
=
0
,
number
=
1
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Attr.type'
,
index
=
1
,
number
=
2
,
type
=
14
,
cpp_type
=
8
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'comment'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Attr.comment'
,
index
=
2
,
number
=
3
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'generated'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.Attr.generated'
,
index
=
3
,
number
=
4
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
True
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
884
,
serialized_end
=
1002
,
)
_OPPROTO
=
_descriptor
.
Descriptor
(
name
=
'OpProto'
,
full_name
=
'paddle_mobile.framework.proto.OpProto'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.type'
,
index
=
0
,
number
=
1
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'inputs'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.inputs'
,
index
=
1
,
number
=
2
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'outputs'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.outputs'
,
index
=
2
,
number
=
3
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'attrs'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.attrs'
,
index
=
3
,
number
=
4
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'comment'
,
full_name
=
'paddle_mobile.framework.proto.OpProto.comment'
,
index
=
4
,
number
=
5
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[
_OPPROTO_VAR
,
_OPPROTO_ATTR
,
],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
539
,
serialized_end
=
1002
,
)
_VARTYPE_TENSORDESC
=
_descriptor
.
Descriptor
(
name
=
'TensorDesc'
,
full_name
=
'paddle_mobile.framework.proto.VarType.TensorDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'data_type'
,
full_name
=
'paddle_mobile.framework.proto.VarType.TensorDesc.data_type'
,
index
=
0
,
number
=
1
,
type
=
14
,
cpp_type
=
8
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'dims'
,
full_name
=
'paddle_mobile.framework.proto.VarType.TensorDesc.dims'
,
index
=
1
,
number
=
2
,
type
=
3
,
cpp_type
=
2
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1501
,
serialized_end
=
1591
,
)
_VARTYPE_LODTENSORDESC
=
_descriptor
.
Descriptor
(
name
=
'LoDTensorDesc'
,
full_name
=
'paddle_mobile.framework.proto.VarType.LoDTensorDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'tensor'
,
full_name
=
'paddle_mobile.framework.proto.VarType.LoDTensorDesc.tensor'
,
index
=
0
,
number
=
1
,
type
=
11
,
cpp_type
=
10
,
label
=
2
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'lod_level'
,
full_name
=
'paddle_mobile.framework.proto.VarType.LoDTensorDesc.lod_level'
,
index
=
1
,
number
=
2
,
type
=
5
,
cpp_type
=
1
,
label
=
1
,
has_default_value
=
True
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1593
,
serialized_end
=
1697
,
)
_VARTYPE_LODTENSORARRAYDESC
=
_descriptor
.
Descriptor
(
name
=
'LoDTensorArrayDesc'
,
full_name
=
'paddle_mobile.framework.proto.VarType.LoDTensorArrayDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'tensor'
,
full_name
=
'paddle_mobile.framework.proto.VarType.LoDTensorArrayDesc.tensor'
,
index
=
0
,
number
=
1
,
type
=
11
,
cpp_type
=
10
,
label
=
2
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'lod_level'
,
full_name
=
'paddle_mobile.framework.proto.VarType.LoDTensorArrayDesc.lod_level'
,
index
=
1
,
number
=
2
,
type
=
5
,
cpp_type
=
1
,
label
=
1
,
has_default_value
=
True
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1699
,
serialized_end
=
1808
,
)
_VARTYPE_READERDESC
=
_descriptor
.
Descriptor
(
name
=
'ReaderDesc'
,
full_name
=
'paddle_mobile.framework.proto.VarType.ReaderDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'lod_tensor'
,
full_name
=
'paddle_mobile.framework.proto.VarType.ReaderDesc.lod_tensor'
,
index
=
0
,
number
=
1
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1810
,
serialized_end
=
1896
,
)
_VARTYPE_CHANNELDESC
=
_descriptor
.
Descriptor
(
name
=
'ChannelDesc'
,
full_name
=
'paddle_mobile.framework.proto.VarType.ChannelDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'data_type'
,
full_name
=
'paddle_mobile.framework.proto.VarType.ChannelDesc.data_type'
,
index
=
0
,
number
=
1
,
type
=
14
,
cpp_type
=
8
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'capacity'
,
full_name
=
'paddle_mobile.framework.proto.VarType.ChannelDesc.capacity'
,
index
=
1
,
number
=
2
,
type
=
3
,
cpp_type
=
2
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1898
,
serialized_end
=
1993
,
)
_VARTYPE_TUPLE
=
_descriptor
.
Descriptor
(
name
=
'Tuple'
,
full_name
=
'paddle_mobile.framework.proto.VarType.Tuple'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'element_type'
,
full_name
=
'paddle_mobile.framework.proto.VarType.Tuple.element_type'
,
index
=
0
,
number
=
1
,
type
=
14
,
cpp_type
=
8
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1995
,
serialized_end
=
2069
,
)
_VARTYPE
=
_descriptor
.
Descriptor
(
name
=
'VarType'
,
full_name
=
'paddle_mobile.framework.proto.VarType'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle_mobile.framework.proto.VarType.type'
,
index
=
0
,
number
=
1
,
type
=
14
,
cpp_type
=
8
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'selected_rows'
,
full_name
=
'paddle_mobile.framework.proto.VarType.selected_rows'
,
index
=
1
,
number
=
2
,
type
=
11
,
cpp_type
=
10
,
label
=
1
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'lod_tensor'
,
full_name
=
'paddle_mobile.framework.proto.VarType.lod_tensor'
,
index
=
2
,
number
=
3
,
type
=
11
,
cpp_type
=
10
,
label
=
1
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'tensor_array'
,
full_name
=
'paddle_mobile.framework.proto.VarType.tensor_array'
,
index
=
3
,
number
=
4
,
type
=
11
,
cpp_type
=
10
,
label
=
1
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'reader'
,
full_name
=
'paddle_mobile.framework.proto.VarType.reader'
,
index
=
4
,
number
=
5
,
type
=
11
,
cpp_type
=
10
,
label
=
1
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'channel'
,
full_name
=
'paddle_mobile.framework.proto.VarType.channel'
,
index
=
5
,
number
=
6
,
type
=
11
,
cpp_type
=
10
,
label
=
1
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'tuple'
,
full_name
=
'paddle_mobile.framework.proto.VarType.tuple'
,
index
=
6
,
number
=
7
,
type
=
11
,
cpp_type
=
10
,
label
=
1
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[
_VARTYPE_TENSORDESC
,
_VARTYPE_LODTENSORDESC
,
_VARTYPE_LODTENSORARRAYDESC
,
_VARTYPE_READERDESC
,
_VARTYPE_CHANNELDESC
,
_VARTYPE_TUPLE
,
],
enum_types
=
[
_VARTYPE_TYPE
,
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
1005
,
serialized_end
=
2342
,
)
_VARDESC
=
_descriptor
.
Descriptor
(
name
=
'VarDesc'
,
full_name
=
'paddle_mobile.framework.proto.VarDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'name'
,
full_name
=
'paddle_mobile.framework.proto.VarDesc.name'
,
index
=
0
,
number
=
1
,
type
=
9
,
cpp_type
=
9
,
label
=
2
,
has_default_value
=
False
,
default_value
=
_b
(
""
).
decode
(
'utf-8'
),
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'type'
,
full_name
=
'paddle_mobile.framework.proto.VarDesc.type'
,
index
=
1
,
number
=
2
,
type
=
11
,
cpp_type
=
10
,
label
=
2
,
has_default_value
=
False
,
default_value
=
None
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'persistable'
,
full_name
=
'paddle_mobile.framework.proto.VarDesc.persistable'
,
index
=
2
,
number
=
3
,
type
=
8
,
cpp_type
=
7
,
label
=
1
,
has_default_value
=
True
,
default_value
=
False
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
2344
,
serialized_end
=
2449
,
)
_BLOCKDESC
=
_descriptor
.
Descriptor
(
name
=
'BlockDesc'
,
full_name
=
'paddle_mobile.framework.proto.BlockDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'idx'
,
full_name
=
'paddle_mobile.framework.proto.BlockDesc.idx'
,
index
=
0
,
number
=
1
,
type
=
5
,
cpp_type
=
1
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'parent_idx'
,
full_name
=
'paddle_mobile.framework.proto.BlockDesc.parent_idx'
,
index
=
1
,
number
=
2
,
type
=
5
,
cpp_type
=
1
,
label
=
2
,
has_default_value
=
False
,
default_value
=
0
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'vars'
,
full_name
=
'paddle_mobile.framework.proto.BlockDesc.vars'
,
index
=
2
,
number
=
3
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'ops'
,
full_name
=
'paddle_mobile.framework.proto.BlockDesc.ops'
,
index
=
3
,
number
=
4
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
_descriptor
.
FieldDescriptor
(
name
=
'forward_block_idx'
,
full_name
=
'paddle_mobile.framework.proto.BlockDesc.forward_block_idx'
,
index
=
4
,
number
=
5
,
type
=
5
,
cpp_type
=
1
,
label
=
1
,
has_default_value
=
True
,
default_value
=-
1
,
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
2452
,
serialized_end
=
2633
,
)
_PROGRAMDESC
=
_descriptor
.
Descriptor
(
name
=
'ProgramDesc'
,
full_name
=
'paddle_mobile.framework.proto.ProgramDesc'
,
filename
=
None
,
file
=
DESCRIPTOR
,
containing_type
=
None
,
fields
=
[
_descriptor
.
FieldDescriptor
(
name
=
'blocks'
,
full_name
=
'paddle_mobile.framework.proto.ProgramDesc.blocks'
,
index
=
0
,
number
=
1
,
type
=
11
,
cpp_type
=
10
,
label
=
3
,
has_default_value
=
False
,
default_value
=
[],
message_type
=
None
,
enum_type
=
None
,
containing_type
=
None
,
is_extension
=
False
,
extension_scope
=
None
,
options
=
None
),
],
extensions
=
[
],
nested_types
=
[],
enum_types
=
[
],
options
=
None
,
is_extendable
=
False
,
syntax
=
'proto2'
,
extension_ranges
=
[],
oneofs
=
[
],
serialized_start
=
2635
,
serialized_end
=
2706
,
)
_OPDESC_ATTR
.
fields_by_name
[
'type'
].
enum_type
=
_ATTRTYPE
_OPDESC_ATTR
.
containing_type
=
_OPDESC
_OPDESC_VAR
.
containing_type
=
_OPDESC
_OPDESC
.
fields_by_name
[
'inputs'
].
message_type
=
_OPDESC_VAR
_OPDESC
.
fields_by_name
[
'outputs'
].
message_type
=
_OPDESC_VAR
_OPDESC
.
fields_by_name
[
'attrs'
].
message_type
=
_OPDESC_ATTR
_OPPROTO_VAR
.
containing_type
=
_OPPROTO
_OPPROTO_ATTR
.
fields_by_name
[
'type'
].
enum_type
=
_ATTRTYPE
_OPPROTO_ATTR
.
containing_type
=
_OPPROTO
_OPPROTO
.
fields_by_name
[
'inputs'
].
message_type
=
_OPPROTO_VAR
_OPPROTO
.
fields_by_name
[
'outputs'
].
message_type
=
_OPPROTO_VAR
_OPPROTO
.
fields_by_name
[
'attrs'
].
message_type
=
_OPPROTO_ATTR
_VARTYPE_TENSORDESC
.
fields_by_name
[
'data_type'
].
enum_type
=
_VARTYPE_TYPE
_VARTYPE_TENSORDESC
.
containing_type
=
_VARTYPE
_VARTYPE_LODTENSORDESC
.
fields_by_name
[
'tensor'
].
message_type
=
_VARTYPE_TENSORDESC
_VARTYPE_LODTENSORDESC
.
containing_type
=
_VARTYPE
_VARTYPE_LODTENSORARRAYDESC
.
fields_by_name
[
'tensor'
].
message_type
=
_VARTYPE_TENSORDESC
_VARTYPE_LODTENSORARRAYDESC
.
containing_type
=
_VARTYPE
_VARTYPE_READERDESC
.
fields_by_name
[
'lod_tensor'
].
message_type
=
_VARTYPE_LODTENSORDESC
_VARTYPE_READERDESC
.
containing_type
=
_VARTYPE
_VARTYPE_CHANNELDESC
.
fields_by_name
[
'data_type'
].
enum_type
=
_VARTYPE_TYPE
_VARTYPE_CHANNELDESC
.
containing_type
=
_VARTYPE
_VARTYPE_TUPLE
.
fields_by_name
[
'element_type'
].
enum_type
=
_VARTYPE_TYPE
_VARTYPE_TUPLE
.
containing_type
=
_VARTYPE
_VARTYPE
.
fields_by_name
[
'type'
].
enum_type
=
_VARTYPE_TYPE
_VARTYPE
.
fields_by_name
[
'selected_rows'
].
message_type
=
_VARTYPE_TENSORDESC
_VARTYPE
.
fields_by_name
[
'lod_tensor'
].
message_type
=
_VARTYPE_LODTENSORDESC
_VARTYPE
.
fields_by_name
[
'tensor_array'
].
message_type
=
_VARTYPE_LODTENSORARRAYDESC
_VARTYPE
.
fields_by_name
[
'reader'
].
message_type
=
_VARTYPE_READERDESC
_VARTYPE
.
fields_by_name
[
'channel'
].
message_type
=
_VARTYPE_CHANNELDESC
_VARTYPE
.
fields_by_name
[
'tuple'
].
message_type
=
_VARTYPE_TUPLE
_VARTYPE_TYPE
.
containing_type
=
_VARTYPE
_VARDESC
.
fields_by_name
[
'type'
].
message_type
=
_VARTYPE
_BLOCKDESC
.
fields_by_name
[
'vars'
].
message_type
=
_VARDESC
_BLOCKDESC
.
fields_by_name
[
'ops'
].
message_type
=
_OPDESC
_PROGRAMDESC
.
fields_by_name
[
'blocks'
].
message_type
=
_BLOCKDESC
DESCRIPTOR
.
message_types_by_name
[
'OpDesc'
]
=
_OPDESC
DESCRIPTOR
.
message_types_by_name
[
'OpProto'
]
=
_OPPROTO
DESCRIPTOR
.
message_types_by_name
[
'VarType'
]
=
_VARTYPE
DESCRIPTOR
.
message_types_by_name
[
'VarDesc'
]
=
_VARDESC
DESCRIPTOR
.
message_types_by_name
[
'BlockDesc'
]
=
_BLOCKDESC
DESCRIPTOR
.
message_types_by_name
[
'ProgramDesc'
]
=
_PROGRAMDESC
DESCRIPTOR
.
enum_types_by_name
[
'AttrType'
]
=
_ATTRTYPE
OpDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'OpDesc'
,
(
_message
.
Message
,),
dict
(
Attr
=
_reflection
.
GeneratedProtocolMessageType
(
'Attr'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_OPDESC_ATTR
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.OpDesc.Attr)
))
,
Var
=
_reflection
.
GeneratedProtocolMessageType
(
'Var'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_OPDESC_VAR
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.OpDesc.Var)
))
,
DESCRIPTOR
=
_OPDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.OpDesc)
))
_sym_db
.
RegisterMessage
(
OpDesc
)
_sym_db
.
RegisterMessage
(
OpDesc
.
Attr
)
_sym_db
.
RegisterMessage
(
OpDesc
.
Var
)
OpProto
=
_reflection
.
GeneratedProtocolMessageType
(
'OpProto'
,
(
_message
.
Message
,),
dict
(
Var
=
_reflection
.
GeneratedProtocolMessageType
(
'Var'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_OPPROTO_VAR
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.OpProto.Var)
))
,
Attr
=
_reflection
.
GeneratedProtocolMessageType
(
'Attr'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_OPPROTO_ATTR
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.OpProto.Attr)
))
,
DESCRIPTOR
=
_OPPROTO
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.OpProto)
))
_sym_db
.
RegisterMessage
(
OpProto
)
_sym_db
.
RegisterMessage
(
OpProto
.
Var
)
_sym_db
.
RegisterMessage
(
OpProto
.
Attr
)
VarType
=
_reflection
.
GeneratedProtocolMessageType
(
'VarType'
,
(
_message
.
Message
,),
dict
(
TensorDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'TensorDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARTYPE_TENSORDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType.TensorDesc)
))
,
LoDTensorDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'LoDTensorDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARTYPE_LODTENSORDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType.LoDTensorDesc)
))
,
LoDTensorArrayDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'LoDTensorArrayDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARTYPE_LODTENSORARRAYDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType.LoDTensorArrayDesc)
))
,
ReaderDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'ReaderDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARTYPE_READERDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType.ReaderDesc)
))
,
ChannelDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'ChannelDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARTYPE_CHANNELDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType.ChannelDesc)
))
,
Tuple
=
_reflection
.
GeneratedProtocolMessageType
(
'Tuple'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARTYPE_TUPLE
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType.Tuple)
))
,
DESCRIPTOR
=
_VARTYPE
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarType)
))
_sym_db
.
RegisterMessage
(
VarType
)
_sym_db
.
RegisterMessage
(
VarType
.
TensorDesc
)
_sym_db
.
RegisterMessage
(
VarType
.
LoDTensorDesc
)
_sym_db
.
RegisterMessage
(
VarType
.
LoDTensorArrayDesc
)
_sym_db
.
RegisterMessage
(
VarType
.
ReaderDesc
)
_sym_db
.
RegisterMessage
(
VarType
.
ChannelDesc
)
_sym_db
.
RegisterMessage
(
VarType
.
Tuple
)
VarDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'VarDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_VARDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.VarDesc)
))
_sym_db
.
RegisterMessage
(
VarDesc
)
BlockDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'BlockDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_BLOCKDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.BlockDesc)
))
_sym_db
.
RegisterMessage
(
BlockDesc
)
ProgramDesc
=
_reflection
.
GeneratedProtocolMessageType
(
'ProgramDesc'
,
(
_message
.
Message
,),
dict
(
DESCRIPTOR
=
_PROGRAMDESC
,
__module__
=
'framework_pb2'
# @@protoc_insertion_point(class_scope:paddle_mobile.framework.proto.ProgramDesc)
))
_sym_db
.
RegisterMessage
(
ProgramDesc
)
DESCRIPTOR
.
has_options
=
True
DESCRIPTOR
.
_options
=
_descriptor
.
_ParseOptions
(
descriptor_pb2
.
FileOptions
(),
_b
(
'H
\003
'
))
# @@protoc_insertion_point(module_scope)
python/tools/mdl2fluid/loader.py
0 → 100644
浏览文件 @
e6ac5a2a
import
datetime
import
json
import
os
import
google.protobuf
as
pbg
import
framework_pb2
as
framework_pb2
def
loadmdl
(
json_path
):
print
(
'mdl json path : '
+
json_path
)
with
open
(
json_path
,
'r'
)
as
f
:
json_dick
=
json
.
load
(
f
)
# print(json_dick)
layers
=
(
json_dick
[
'layer'
])
for
layer
in
layers
:
print
(
layer
)
python/tools/mdl2fluid/mdl2fluid.py
0 → 100644
浏览文件 @
e6ac5a2a
import
json
import
framework_pb2
as
framework_pb2
import
op_types
as
types
def
load_mdl
(
mdl_json_path
):
# print('mdl json path : ' + mdl_json_path)
with
open
(
mdl_json_path
,
'r'
)
as
f
:
return
json
.
load
(
f
)
class
Converter
:
'convert mdlmodel to fluidmodel'
def
__init__
(
self
,
mdl_json_path
):
self
.
mdl_json_path
=
mdl_json_path
self
.
mdl_json
=
load_mdl
(
self
.
mdl_json_path
)
self
.
program_desc
=
framework_pb2
.
ProgramDesc
()
# print(json_dick)
# layers = (json_dick['layer'])
# for layer in layers:
# print(layer)
def
convert
(
self
):
print
'convert begin.....'
# add block_desc
block_desc
=
self
.
program_desc
.
blocks
.
add
()
block_desc
.
idx
=
0
block_desc
.
parent_idx
=
-
1
self
.
package_ops
(
block_desc
)
print
'blocks: '
print
self
.
program_desc
.
blocks
def
package_ops
(
self
,
block_desc
):
# add ops with layer
if
'layer'
in
self
.
mdl_json
:
layers_
=
self
.
mdl_json
[
'layer'
]
for
layer
in
layers_
:
desc_ops
=
block_desc
.
ops
.
add
()
# print layer
# for i in layer:
# print i
if
'name'
in
layer
:
l_name
=
layer
[
'name'
]
if
'weight'
in
layer
:
l_weights
=
layer
[
'weight'
]
if
'param'
in
layer
:
l_params
=
layer
[
'param'
]
if
'output'
in
layer
:
l_outputs
=
layer
[
'output'
]
if
'input'
in
layer
:
l_inputs
=
layer
[
'input'
]
inputs_add
=
desc_ops
.
inputs
.
add
()
for
i
in
l_inputs
:
# print i
inputs_add
.
parameter
=
''
inputs_add
.
arguments
.
append
(
i
)
if
'type'
in
layer
:
l_type
=
layer
[
'type'
]
# print l_type
# print mdl2fluid_op_layer_dict.get(l_type)
desc_ops
.
type
=
types
.
mdl2fluid_op_layer_dict
.
get
(
l_type
)
mdl_path
=
"multiobjects/YOLO_Universal.json"
# print mdl_path
# # model
# mdl_model = load_mdl(mdl_path)
# for key in mdl_model:
# print key
#
# # layer
# layers = mdl_model['layer']
# print layers
#
# for layer in layers:
# print layer
# for i in layer:
# print i
# if 'name' in layer:
# l_name = layer['name']
#
# if 'weight' in layer:
# l_weights = layer['weight']
#
# if 'param' in layer:
# l_params = layer['param']
#
# if 'output' in layer:
# l_outputs = layer['output']
#
# if 'input' in layer:
# l_inputs = layer['input']
#
# if 'type' in layer:
# l_type = layer['type']
#
# print mdl_model['matrix']
#
# package()
converter
=
Converter
(
mdl_path
)
converter
.
convert
()
python/tools/mdl2fluid/model_reader.py
0 → 100644
浏览文件 @
e6ac5a2a
import
os
import
framework_pb2
as
framework_pb2
def
read_model
(
model_path
):
print
(
'read_model.'
)
path_8
=
unicode
(
model_path
,
'utf8'
)
try
:
with
open
(
path_8
,
"rb"
)
as
f_model
:
print
get_file_size
(
model_path
)
desc
=
framework_pb2
.
ProgramDesc
()
desc
.
ParseFromString
(
f_model
.
read
())
print
desc
# print desc.blocks
except
IOError
:
print
": File not found. Creating a new file."
def
get_file_size
(
file_path
):
file_path
=
unicode
(
file_path
,
'utf8'
)
fsize
=
os
.
path
.
getsize
(
file_path
)
fsize
=
fsize
/
float
(
1024
*
1024
)
return
round
(
fsize
,
2
)
path
=
"/Users/xiebaiyuan/PaddleProject/paddle-mobile/python/tools/mdl2fluid/yolo/__model__"
read_model
(
path
)
python/tools/mdl2fluid/op_types.py
0 → 100644
浏览文件 @
e6ac5a2a
mdl2fluid_op_layer_dict
=
{
'ConvolutionLayer'
:
'fusion_conv_add'
,
'DepthwiseConvolutionLayer'
:
'fusion_conv_add'
,
'ReluLayer'
:
'relu'
,
'PointwiseConvolutionLayer'
:
'fusion_conv_add'
}
fusion_conv_add_dict
=
{
'inputs'
:
'Input'
,
'outputs'
:
'Out'
}
relu_dict
=
{
'inputs'
:
'X'
,
'outputs'
:
'Out'
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录