Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
X2Paddle
提交
8ec03d57
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看板
提交
8ec03d57
编写于
8月 06, 2019
作者:
S
SunAhong1993
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix the --caffe_proto
上级
d6af8cf0
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
10198 addition
and
14 deletion
+10198
-14
x2paddle/convert.py
x2paddle/convert.py
+3
-2
x2paddle/decoder/caffe_decoder.py
x2paddle/decoder/caffe_decoder.py
+32
-12
x2paddle/decoder/caffe_pb2.py
x2paddle/decoder/caffe_pb2.py
+10163
-0
未找到文件。
x2paddle/convert.py
浏览文件 @
8ec03d57
...
...
@@ -48,7 +48,7 @@ def arg_parser():
parser
.
add_argument
(
"--caffe_proto"
,
"-c"
,
type
=
_text_type
,
default
=
None
,
default
=
'./x2paddle/decoder/caffe_pb2.py'
,
help
=
"caffe proto file of caffe model"
)
parser
.
add_argument
(
"--version"
,
"-v"
,
...
...
@@ -92,7 +92,8 @@ def tf2paddle(model_path, save_dir):
def
caffe2paddle
(
proto
,
weight
,
save_dir
,
caffe_proto
):
if
caffe_proto
is
not
None
:
import
os
if
not
os
.
path
.
isfile
(
caffe_proto
+
'caffe_pb2.py'
):
print
(
caffe_proto
)
if
caffe_proto
!=
'None'
and
not
os
.
path
.
isfile
(
caffe_proto
):
print
(
"The file that resolve caffe is not exist."
)
return
else
:
...
...
x2paddle/decoder/caffe_decoder.py
浏览文件 @
8ec03d57
...
...
@@ -22,18 +22,21 @@ from x2paddle.op_mapper import caffe_shape
class
CaffeResolver
(
object
):
def
__init__
(
self
,
caffe_proto
_folder
=
None
):
self
.
proto_path
=
caffe_proto
_folder
if
self
.
proto_path
==
None
:
def
__init__
(
self
,
caffe_proto
):
self
.
proto_path
=
caffe_proto
if
self
.
proto_path
==
'None'
:
self
.
use_default
=
True
else
:
self
.
use_default
=
False
self
.
import_caffe
()
def
import_caffepb
(
self
):
sys
.
path
.
append
(
self
.
proto_path
)
import
caffe_pb2
return
caffe_pb2
(
filepath
,
tempfilename
)
=
os
.
path
.
split
(
os
.
path
.
abspath
(
self
.
proto_path
))
(
filename
,
extension
)
=
os
.
path
.
splitext
(
tempfilename
)
sys
.
path
.
append
(
filepath
)
out
=
__import__
(
filename
)
return
out
def
import_caffe
(
self
):
self
.
caffe
=
None
...
...
@@ -139,9 +142,16 @@ class CaffeGraph(Graph):
dim
=
[
dims
[
0
],
dims
[
1
],
dims
[
2
],
dims
[
3
]
]))).
to_proto
().
layer
[
0
])
except
:
raise
ImportError
(
'The .proto file does not work for the old style prototxt. You must install the caffe or modify the old style to new style in .protottx file.'
print
(
"The .py fiel compiled by .proto file does not work for the old style prototxt. "
)
print
(
"There are 2 solutions for you as below:"
)
print
(
"1. install caffe and set
\'
--caffe_proto=None
\'
."
)
print
(
"2. modify your .prototxt from the old style to the new style."
)
sys
.
exit
(
-
1
)
data
.
name
=
self
.
model
.
input
[
i
]
data
.
top
[
0
]
=
self
.
model
.
input
[
i
]
else
:
...
...
@@ -155,9 +165,16 @@ class CaffeGraph(Graph):
dim
=
[
dims
[
0
],
dims
[
1
],
dims
[
2
],
dims
[
3
]
]))).
to_proto
().
layer
[
0
])
except
:
raise
ImportError
(
'The .proto file does not work for the old style prototxt. You must install the caffe or modify the old style to new style in .protottx file.'
print
(
"The .py fiel compiled by .proto file does not work for the old style prototxt. "
)
print
(
"There are 2 solutions for you as below:"
)
print
(
"1. install caffe and set
\'
--caffe_proto=None
\'
."
)
print
(
"2. modify your .prototxt from the old style to the new style."
)
sys
.
exit
(
-
1
)
data
.
name
=
self
.
model
.
input
[
i
]
data
.
top
[
0
]
=
self
.
model
.
input
[
i
]
layers
=
[
data
]
+
layers
...
...
@@ -202,11 +219,14 @@ class CaffeGraph(Graph):
class
CaffeDecoder
(
object
):
def
__init__
(
self
,
proto_path
,
model_path
,
caffe_proto_folder
=
None
):
def
__init__
(
self
,
proto_path
,
model_path
,
caffe_proto
=
'./x2paddle/decoder/caffe_pb2.py'
):
self
.
proto_path
=
proto_path
self
.
model_path
=
model_path
self
.
resolver
=
CaffeResolver
(
caffe_proto
_folder
=
caffe_proto_folder
)
self
.
resolver
=
CaffeResolver
(
caffe_proto
=
caffe_proto
)
self
.
net
=
self
.
resolver
.
NetParameter
()
with
open
(
proto_path
,
'rb'
)
as
proto_file
:
proto_str
=
proto_file
.
read
()
...
...
x2paddle/decoder/caffe_pb2.py
0 → 100644
浏览文件 @
8ec03d57
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录