Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
86170c37
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看板
提交
86170c37
编写于
7月 19, 2019
作者:
J
jiangjiajun
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
structure modify
上级
32bcda21
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
52 addition
and
1 deletion
+52
-1
x2paddle/convert.py
x2paddle/convert.py
+1
-1
x2paddle/core/op_mapper.py
x2paddle/core/op_mapper.py
+51
-0
未找到文件。
x2paddle/convert.py
浏览文件 @
86170c37
...
...
@@ -48,7 +48,7 @@ def arg_parser():
def
tf2paddle
(
model_path
,
save_dir
):
from
x2paddle.decoder.tf_decoder
import
TFDecoder
from
x2paddle.op
timizer.tf_optimizer
import
TFGraphOptimiz
er
from
x2paddle.op
_mapper.tf_op_mapper
import
TFOpMapp
er
print
(
"Now translating model from tensorflow to paddle."
)
model
=
TFDecoder
(
model_path
)
...
...
x2paddle/core/op_mapper.py
0 → 100644
浏览文件 @
86170c37
# Copyright (c) 2019 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.
from
x2paddle.core.util
import
*
import
os
class
OpMapper
(
object
):
def
__init__
(
self
):
self
.
paddle_codes
=
""
self
.
tab
=
" "
self
.
net_code
=
list
()
self
.
weights
=
dict
()
def
add_codes
(
self
,
codes
,
indent
=
0
):
if
isinstance
(
codes
,
list
):
for
code
in
codes
:
self
.
paddle_codes
+=
(
self
.
tab
*
indent
+
code
+
'
\n
'
)
elif
isinstance
(
codes
,
str
):
self
.
paddle_codes
+=
(
self
.
tab
*
indent
+
codes
+
'
\n
'
)
else
:
raise
Exception
(
"Unknown type of codes"
)
def
add_heads
(
self
):
self
.
add_codes
(
"from paddle.fluid.initializer import Constant"
)
self
.
add_codes
(
"from paddle.fluid.param_attr import ParamAttr"
)
self
.
add_codes
(
"import paddle.fluid as fluid"
)
self
.
add_codes
(
""
)
def
save_inference_model
(
self
):
print
(
"Not Implement"
)
def
save_python_model
(
self
,
save_dir
):
for
name
,
param
in
self
.
weights
.
items
():
export_paddle_param
(
param
,
name
,
save_dir
)
self
.
add_heads
()
self
.
add_codes
(
self
.
net_code
)
fp
=
open
(
os
.
path
.
join
(
save_dir
,
"model.py"
),
'w'
)
fp
.
write
(
self
.
paddle_codes
)
fp
.
close
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录