Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Oneflow-Inc
oneflow_convert_tools
提交
7a46ffc5
O
oneflow_convert_tools
项目概览
Oneflow-Inc
/
oneflow_convert_tools
上一次同步 2 年多
通知
1
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oneflow_convert_tools
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7a46ffc5
编写于
9月 19, 2021
作者:
B
BBuf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add debug info
上级
8a6e29ef
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
5 addition
and
2 deletion
+5
-2
examples/oneflow2onnx/models/test_alexnet.py
examples/oneflow2onnx/models/test_alexnet.py
+1
-0
oneflow_onnx/oneflow2onnx/flow2onnx.py
oneflow_onnx/oneflow2onnx/flow2onnx.py
+3
-0
oneflow_onnx/oneflow2onnx/handlers/nn.py
oneflow_onnx/oneflow2onnx/handlers/nn.py
+1
-2
未找到文件。
examples/oneflow2onnx/models/test_alexnet.py
浏览文件 @
7a46ffc5
...
@@ -70,6 +70,7 @@ def test_alexnet():
...
@@ -70,6 +70,7 @@ def test_alexnet():
alexnet_graph
=
AlexNetGraph
()
alexnet_graph
=
AlexNetGraph
()
alexnet_graph
.
_compile
(
flow
.
randn
(
1
,
3
,
224
,
224
))
alexnet_graph
.
_compile
(
flow
.
randn
(
1
,
3
,
224
,
224
))
# print(alexnet_graph._full_graph_proto)
with
tempfile
.
TemporaryDirectory
()
as
tmpdirname
:
with
tempfile
.
TemporaryDirectory
()
as
tmpdirname
:
flow
.
save
(
alexnet
.
state_dict
(),
tmpdirname
)
flow
.
save
(
alexnet
.
state_dict
(),
tmpdirname
)
...
...
oneflow_onnx/oneflow2onnx/flow2onnx.py
浏览文件 @
7a46ffc5
...
@@ -113,6 +113,9 @@ def FlowToOnnxNaive(graph, shape_override):
...
@@ -113,6 +113,9 @@ def FlowToOnnxNaive(graph, shape_override):
def
get_outputs
(
node
):
def
get_outputs
(
node
):
if
is_user_op
(
node
):
if
is_user_op
(
node
):
print
(
node
)
print
(
type
(
node
))
print
(
node
.
user_conf
.
output
)
obns
=
handler
.
flow_op
.
obn4op_type
(
get_op_type
(
node
))
obns
=
handler
.
flow_op
.
obn4op_type
(
get_op_type
(
node
))
if
obns
is
None
:
if
obns
is
None
:
assert
all
([
len
(
x
.
s
)
==
1
for
x
in
node
.
user_conf
.
output
.
values
()])
assert
all
([
len
(
x
.
s
)
==
1
for
x
in
node
.
user_conf
.
output
.
values
()])
...
...
oneflow_onnx/oneflow2onnx/handlers/nn.py
浏览文件 @
7a46ffc5
...
@@ -254,6 +254,7 @@ class PoolOp:
...
@@ -254,6 +254,7 @@ class PoolOp:
# T output = MaxPool(T input, @list(int) ksize, @list(int) strides, @string padding, @string data_format)
# T output = MaxPool(T input, @list(int) ksize, @list(int) strides, @string padding, @string data_format)
# T Y = MaxPool(T X, @AttrType.STRING auto_pad, @AttrType.INTS kernel_shape, @AttrType.INTS pads,
# T Y = MaxPool(T X, @AttrType.STRING auto_pad, @AttrType.INTS kernel_shape, @AttrType.INTS pads,
# @AttrType.INTS strides)
# @AttrType.INTS strides)
print
(
node
.
output_tensor_names
)
if
len
(
node
.
input_tensor_names
)
<
3
:
if
len
(
node
.
input_tensor_names
)
<
3
:
kernel_shape_flow
=
node
.
attrs
[
"kernel_size"
]
kernel_shape_flow
=
node
.
attrs
[
"kernel_size"
]
strides_flow
=
node
.
attrs
[
"stride"
]
strides_flow
=
node
.
attrs
[
"stride"
]
...
@@ -273,8 +274,6 @@ class PoolOp:
...
@@ -273,8 +274,6 @@ class PoolOp:
"padding_after"
,
[
0
,
0
]
"padding_after"
,
[
0
,
0
]
)
)
node
.
attrs
[
"pads"
]
=
pads
node
.
attrs
[
"pads"
]
=
pads
_ConvConvertInputs
(
ctx
,
node
,
with_kernel
=
False
)
@
flow_op
([
"pad"
],
onnx_op
=
"Pad"
)
@
flow_op
([
"pad"
],
onnx_op
=
"Pad"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录