Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
VisualDL
提交
db44c87e
V
VisualDL
项目概览
PaddlePaddle
/
VisualDL
大约 1 年 前同步成功
通知
88
Star
4655
Fork
642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
5
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VisualDL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
5
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
db44c87e
编写于
12月 27, 2017
作者:
Q
qiaolongfei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
init graph
上级
eeaa1bd4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
52 addition
and
0 deletion
+52
-0
server/visualdl/graph.py
server/visualdl/graph.py
+45
-0
server/visualdl/visual_dl.py
server/visualdl/visual_dl.py
+7
-0
未找到文件。
server/visualdl/graph.py
0 → 100644
浏览文件 @
db44c87e
import
onnx
import
json
from
google.protobuf.json_format
import
MessageToJson
def
reorganize_inout
(
json_obj
,
key
):
"""
:param json_obj: the model's json obj
:param key: "input or output"
:return:
"""
for
index
in
range
(
len
(
json_obj
[
key
])):
input
=
json_obj
[
key
][
index
]
input_new
=
dict
()
# set name
input_new
[
'name'
]
=
input
[
'name'
]
tensor_type
=
input
[
'type'
][
'tensorType'
]
# set data_type
input_new
[
'data_type'
]
=
tensor_type
[
'elemType'
]
# set shape
shape
=
[
dim
[
'dimValue'
]
for
dim
in
tensor_type
[
'shape'
][
'dim'
]]
input_new
[
'shape'
]
=
shape
json_obj
[
key
][
index
]
=
input_new
def
load_model
(
model_pb_path
):
model
=
onnx
.
load
(
model_pb_path
)
graph
=
model
.
graph
del
graph
.
initializer
[:]
# to json string
json_str
=
MessageToJson
(
model
.
graph
)
json_obj
=
json
.
loads
(
json_str
)
reorganize_inout
(
json_obj
,
'input'
)
reorganize_inout
(
json_obj
,
'output'
)
return
json
.
dumps
(
json_obj
,
sort_keys
=
True
,
indent
=
4
,
separators
=
(
','
,
': '
))
json_str
=
load_model
(
"/Users/qiaolongfei/project/onnx/model/inception_v1/model.pb"
)
print
(
json_str
)
server/visualdl/visual_dl.py
浏览文件 @
db44c87e
...
...
@@ -14,6 +14,7 @@ from visualdl.log import logger
import
visualdl.mock.data
as
mock_data
import
visualdl.mock.tags
as
mock_tags
import
storage
import
graph
app
=
Flask
(
__name__
,
static_url_path
=
""
)
...
...
@@ -135,6 +136,12 @@ def scalars():
return
Response
(
json
.
dumps
(
result
),
mimetype
=
'application/json'
)
@
app
.
route
(
'/data/plugin/graphs/graph'
)
def
graph
():
model_json
=
graph
.
load_model
(
""
)
return
Response
(
model_json
,
mimetype
=
'application/json'
)
if
__name__
==
'__main__'
:
logger
.
info
(
" port="
+
str
(
options
.
port
))
app
.
run
(
debug
=
False
,
host
=
options
.
host
,
port
=
options
.
port
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录