Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
8cd5e764
X
X2Paddle
项目概览
PaddlePaddle
/
X2Paddle
1 年多 前同步成功
通知
328
Star
698
Fork
167
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
26
列表
看板
标记
里程碑
合并请求
4
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
X2Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
26
Issue
26
列表
看板
标记
里程碑
合并请求
4
合并请求
4
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8cd5e764
编写于
8月 14, 2019
作者:
S
SunAhong1993
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
reduce code
上级
983669f5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
49 deletion
+20
-49
x2paddle/decoder/caffe_decoder.py
x2paddle/decoder/caffe_decoder.py
+20
-49
未找到文件。
x2paddle/decoder/caffe_decoder.py
浏览文件 @
8cd5e764
...
...
@@ -99,6 +99,23 @@ class CaffeGraph(Graph):
print
(
'The filter layer:'
+
layer
.
name
)
return
filtered_layers
def
generate_input_layer
(
self
,
dims
,
index
):
dim_str
=
''
for
dim
in
dims
:
dim_str
+=
'dim: {}
\n
'
.
format
(
str
(
dim
))
input_str
=
'layer {
\n
'
input_str
+=
'name:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
index
]))
input_str
+=
'type: "Input"
\n
'
input_str
+=
'top:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
index
]))
input_str
+=
'input_param {
\n
'
input_str
+=
'shape {
\n
'
input_str
+=
dim_str
input_str
+=
'}}}'
input_str
=
str
.
encode
(
input_str
)
net
=
self
.
caffe_pb
.
NetParameter
()
text_format
.
Merge
(
input_str
,
net
)
return
net
.
layers
or
net
.
layer
def
input2layers
(
self
,
input_layers
=
[]):
inputs_num
=
len
(
self
.
model
.
input
)
if
inputs_num
!=
0
:
...
...
@@ -109,44 +126,12 @@ class CaffeGraph(Graph):
(
input_dims_num
))
for
i
in
range
(
inputs_num
):
dims
=
self
.
model
.
input_dim
[
i
*
4
:(
i
+
1
)
*
4
]
dim_str
=
''
for
dim
in
dims
:
dim_str
+=
'dim: {}
\n
'
.
format
(
str
(
dim
))
input_str
=
'layer {
\n
'
input_str
+=
'name:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
i
]))
input_str
+=
'type: "Input"
\n
'
input_str
+=
'top:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
i
]))
input_str
+=
'input_param {
\n
'
input_str
+=
'shape {
\n
'
input_str
+=
dim_str
input_str
+=
'}}}'
input_str
=
str
.
encode
(
input_str
)
net
=
self
.
caffe_pb
.
NetParameter
()
text_format
.
Merge
(
input_str
,
net
)
l
=
net
.
layers
or
net
.
layer
l
=
self
.
generate_input_layer
(
dims
,
i
)
input_layers
.
append
(
l
[
0
])
else
:
for
i
in
range
(
inputs_num
):
dims
=
self
.
model
.
input_shape
[
i
].
dim
[
0
:
4
]
dim_str
=
''
for
dim
in
dims
:
dim_str
+=
'dim: {}
\n
'
.
format
(
str
(
dim
))
input_str
=
'layer {
\n
'
input_str
+=
'name:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
i
]))
input_str
+=
'type: "Input"
\n
'
input_str
+=
'top:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
i
]))
input_str
+=
'input_param {
\n
'
input_str
+=
'shape {
\n
'
input_str
+=
dim_str
input_str
+=
'}}}'
input_str
=
str
.
encode
(
input_str
)
net
=
self
.
caffe_pb
.
NetParameter
()
text_format
.
Merge
(
input_str
,
net
)
l
=
net
.
layers
or
net
.
layer
l
=
self
.
generate_input_layer
(
dims
,
i
)
input_layers
.
append
(
l
[
0
])
def
transform_input_layers
(
self
,
layers
,
input_layers
=
[]):
...
...
@@ -157,21 +142,7 @@ class CaffeGraph(Graph):
raise
Error
(
'invalid input_dim[%d] param in prototxt'
%
(
input_dims_num
))
dims
=
self
.
model
.
input_dim
[
0
:
4
]
dim_str
=
''
for
dim
in
dims
:
dim_str
+=
'dim: {}
\n
'
.
format
(
str
(
dim
))
input_str
=
'layer {
\n
'
input_str
+=
'name:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
i
]))
input_str
+=
'type: "Input"
\n
'
input_str
+=
'top:
\"
{}
\"\n
'
.
format
(
str
(
self
.
model
.
input
[
i
]))
input_str
+=
'input_param {
\n
'
input_str
+=
'shape {
\n
'
input_str
+=
dim_str
input_str
+=
'}}}'
input_str
=
str
.
encode
(
input_str
)
net
=
self
.
caffe_pb
.
NetParameter
()
text_format
.
Merge
(
input_str
,
net
)
l
=
net
.
layers
or
net
.
layer
l
=
self
.
generate_input_layer
(
dims
,
i
)
input_layers
.
append
(
l
[
0
])
def
get_layer_type
(
self
,
layer
):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录