Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
Mace
提交
80a017ce
Mace
项目概览
Xiaomi
/
Mace
通知
107
Star
40
Fork
27
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Mace
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
80a017ce
编写于
9月 27, 2019
作者:
L
liyin
提交者:
liutuo
10月 29, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add CMake and ZH docs
Revert "Merge branch 'refactor-python-scripts' into 'master'" This reverts merge request !1200
上级
c1ae5dd3
变更
26
显示空白变更内容
内联
并排
Showing
26 changed file
with
200 addition
and
210 deletion
+200
-210
tools/common.py
tools/common.py
+1
-0
tools/converter.py
tools/converter.py
+6
-3
tools/generate_data.py
tools/generate_data.py
+2
-0
tools/layers_validate.py
tools/layers_validate.py
+8
-10
tools/python/convert.py
tools/python/convert.py
+19
-18
tools/python/encrypt.py
tools/python/encrypt.py
+8
-9
tools/python/gen_opencl.py
tools/python/gen_opencl.py
+3
-3
tools/python/py_proto/__init__.py
tools/python/py_proto/__init__.py
+2
-2
tools/python/quantize/quantize_util.py
tools/python/quantize/quantize_util.py
+1
-1
tools/python/quantize/quantize_util_test.py
tools/python/quantize/quantize_util_test.py
+1
-1
tools/python/run_model.py
tools/python/run_model.py
+11
-11
tools/python/run_target.py
tools/python/run_target.py
+4
-4
tools/python/transform/apu_converter.py
tools/python/transform/apu_converter.py
+14
-15
tools/python/transform/base_converter.py
tools/python/transform/base_converter.py
+4
-6
tools/python/transform/caffe_converter.py
tools/python/transform/caffe_converter.py
+14
-15
tools/python/transform/hexagon_converter.py
tools/python/transform/hexagon_converter.py
+12
-11
tools/python/transform/onnx_converter.py
tools/python/transform/onnx_converter.py
+28
-32
tools/python/transform/shape_inference.py
tools/python/transform/shape_inference.py
+9
-11
tools/python/transform/tensorflow_converter.py
tools/python/transform/tensorflow_converter.py
+15
-18
tools/python/transform/transformer.py
tools/python/transform/transformer.py
+25
-28
tools/python/utils/config_parser.py
tools/python/utils/config_parser.py
+3
-3
tools/python/utils/device.py
tools/python/utils/device.py
+1
-1
tools/python/utils/target.py
tools/python/utils/target.py
+2
-0
tools/python/validate.py
tools/python/validate.py
+4
-8
tools/sh_commands.py
tools/sh_commands.py
+1
-0
tools/validate.py
tools/validate.py
+2
-0
未找到文件。
tools/common.py
浏览文件 @
80a017ce
...
...
@@ -17,6 +17,7 @@ import hashlib
import
inspect
import
re
import
os
import
six
...
...
tools/converter.py
浏览文件 @
80a017ce
...
...
@@ -25,11 +25,14 @@ import yaml
import
sh_commands
from
enum
import
Enum
sys
.
path
.
insert
(
0
,
"tools/python"
)
# noqa
from
common
import
*
from
device
import
DeviceWrapper
,
DeviceManager
from
python.utils
import
config_parser
from
python
import
convert
from
python
import
encrypt
from
utils
import
config_parser
import
convert
import
encrypt
from
dana.dana_util
import
DanaUtil
################################
# set environment
...
...
tools/generate_data.py
浏览文件 @
80a017ce
...
...
@@ -13,7 +13,9 @@
# limitations under the License.
import
argparse
import
sys
import
numpy
as
np
import
re
import
common
import
six
...
...
tools/layers_validate.py
浏览文件 @
80a017ce
...
...
@@ -12,21 +12,19 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
argparse
import
copy
import
os
import
sys
import
yaml
from
python.py_proto
import
mace_pb2
from
python.transform.base_converter
import
ConverterUtil
from
python.transform.base_converter
import
MaceKeyword
from
python.transform.base_converter
import
MaceOp
from
python.transform.hexagon_converter
import
HexagonOp
from
python.utils.util
import
mace_check
sys
.
path
.
insert
(
0
,
"tools/python"
)
# noqa
from
py_proto
import
mace_pb2
from
transform.base_converter
import
ConverterUtil
from
transform.base_converter
import
MaceKeyword
from
transform.base_converter
import
MaceOp
from
transform.hexagon_converter
import
HexagonOp
from
utils.util
import
mace_check
def
normalize_op_name
(
name
):
...
...
tools/python/convert.py
浏览文件 @
80a017ce
...
...
@@ -22,19 +22,20 @@ from __future__ import print_function
import
argparse
import
sys
import
numpy
as
np
from
python.utils
import
config_parser
from
python.utils.config_parser
import
DataFormat
from
python.utils.config_parser
import
DeviceType
from
python.utils.config_parser
import
Platform
from
python.utils
import
util
from
python.utils.util
import
mace_check
from
python.utils.config_parser
import
normalize_model_config
from
python.utils.config_parser
import
ModelKeys
from
python.py_proto
import
mace_pb2
from
python.transform
import
base_converter
as
cvt
from
python.transform
import
transformer
from
python.visualize
import
visualize_model
import
shutil
import
tempfile
from
utils
import
config_parser
from
utils.config_parser
import
DataFormat
from
utils.config_parser
import
DeviceType
from
utils.config_parser
import
Platform
from
utils
import
util
from
utils.util
import
mace_check
from
utils.config_parser
import
normalize_model_config
from
utils.config_parser
import
ModelKeys
from
py_proto
import
mace_pb2
from
transform
import
base_converter
as
cvt
from
transform
import
transformer
from
visualize
import
visualize_model
def
transpose_shape
(
shape
,
dst_order
):
...
...
@@ -161,16 +162,16 @@ def convert_model(conf):
print
(
"Transform model to one that can better run on device"
)
platform
=
conf
[
ModelKeys
.
platform
]
if
platform
==
Platform
.
TENSORFLOW
:
from
python.
transform
import
tensorflow_converter
from
transform
import
tensorflow_converter
converter
=
tensorflow_converter
.
TensorflowConverter
(
option
,
conf
[
"model_file_path"
])
elif
platform
==
Platform
.
CAFFE
:
from
python.
transform
import
caffe_converter
from
transform
import
caffe_converter
converter
=
caffe_converter
.
CaffeConverter
(
option
,
conf
[
"model_file_path"
],
conf
[
"weight_file_path"
])
elif
platform
==
Platform
.
ONNX
:
from
python.
transform
import
onnx_converter
from
transform
import
onnx_converter
converter
=
onnx_converter
.
OnnxConverter
(
option
,
conf
[
"model_file_path"
])
else
:
...
...
@@ -184,14 +185,14 @@ def convert_model(conf):
runtime
=
conf
[
ModelKeys
.
runtime
]
if
runtime
in
[
DeviceType
.
HEXAGON
,
DeviceType
.
HTA
]:
from
python.
transform
import
hexagon_converter
from
transform
import
hexagon_converter
converter
=
hexagon_converter
.
HexagonConverter
(
option
,
output_graph_def
,
quantize_activation_info
)
output_graph_def
=
converter
.
run
()
elif
runtime
==
DeviceType
.
APU
:
mace_check
(
platform
==
Platform
.
TENSORFLOW
,
"apu only support model from tensorflow"
)
from
python.
transform
import
apu_converter
from
transform
import
apu_converter
converter
=
apu_converter
.
ApuConverter
(
option
,
output_graph_def
,
quantize_activation_info
)
output_graph_def
=
converter
.
run
()
...
...
tools/python/encrypt.py
浏览文件 @
80a017ce
...
...
@@ -21,15 +21,14 @@ import datetime
import
os
import
hashlib
from
jinja2
import
Environment
,
FileSystemLoader
from
python.py_proto
import
mace_pb2
from
python.utils
import
device
from
python.utils
import
util
from
python.utils.util
import
mace_check
from
python.utils.util
import
MaceLogger
from
python.utils
import
config_parser
from
python.utils.config_parser
import
CPP_KEYWORDS
from
python.utils.config_parser
import
ModelKeys
from
py_proto
import
mace_pb2
from
utils
import
device
from
utils
import
util
from
utils.util
import
mace_check
from
utils.util
import
MaceLogger
from
utils
import
config_parser
from
utils.config_parser
import
CPP_KEYWORDS
from
utils.config_parser
import
ModelKeys
GENERATED_NAME
=
set
()
...
...
tools/python/gen_opencl.py
浏览文件 @
80a017ce
...
...
@@ -22,9 +22,9 @@ import os
import
struct
import
numpy
as
np
from
python.
utils
import
util
from
python.
utils.util
import
MaceLogger
from
python.
utils.util
import
mace_check
from
utils
import
util
from
utils.util
import
MaceLogger
from
utils.util
import
mace_check
def
generate_opencl_code
(
binary_file_name
,
load_func_name
,
size_func_name
,
...
...
tools/python/py_proto/__init__.py
浏览文件 @
80a017ce
...
...
@@ -17,8 +17,8 @@ from __future__ import division
from
__future__
import
print_function
import
os
from
python.
utils
import
device
from
python.
utils.util
import
MaceLogger
from
utils
import
device
from
utils.util
import
MaceLogger
cwd
=
os
.
path
.
dirname
(
__file__
)
...
...
tools/python/quantize/quantize_util.py
浏览文件 @
80a017ce
...
...
@@ -19,7 +19,7 @@ from __future__ import print_function
import
numpy
as
np
import
math
from
python.
transform.base_converter
import
DeviceType
from
transform.base_converter
import
DeviceType
class
QuantizedData
(
object
):
...
...
tools/python/quantize/quantize_util_test.py
浏览文件 @
80a017ce
...
...
@@ -14,7 +14,7 @@
import
unittest
import
numpy
as
np
import
quantize_util
import
quantize
.quantize
_util
class
TestQuantize
(
unittest
.
TestCase
):
...
...
tools/python/run_model.py
浏览文件 @
80a017ce
...
...
@@ -22,17 +22,17 @@ import tempfile
import
shutil
import
numpy
as
np
from
py
thon.py
_proto
import
mace_pb2
from
python.
utils
import
util
from
python.
utils
import
device
from
python.
utils
import
config_parser
from
python.
utils.config_parser
import
DeviceType
from
python.
utils.target
import
Target
from
python.
utils.config_parser
import
ModelKeys
from
python.
utils.util
import
MaceLogger
from
python.
utils.util
import
mace_check
from
python
import
run_target
from
python
import
validate
from
py_proto
import
mace_pb2
from
utils
import
util
from
utils
import
device
from
utils
import
config_parser
from
utils.config_parser
import
DeviceType
from
utils.target
import
Target
from
utils.config_parser
import
ModelKeys
from
utils.util
import
MaceLogger
from
utils.util
import
mace_check
import
run_target
import
validate
"""
Tool for mace_run:
...
...
tools/python/run_target.py
浏览文件 @
80a017ce
...
...
@@ -28,10 +28,10 @@ from __future__ import print_function
import
argparse
import
os
from
python.
utils
import
device
from
python.
utils
import
target
from
python.
utils
import
config_parser
from
python.
utils
import
util
from
utils
import
device
from
utils
import
target
from
utils
import
config_parser
from
utils
import
util
def
run_target
(
target_abi
,
install_dir
,
target_obj
,
device_ids
=
"all"
):
...
...
tools/python/transform/apu_converter.py
浏览文件 @
80a017ce
...
...
@@ -12,24 +12,23 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
copy
import
numpy
as
np
from
enum
import
Enum
from
operator
import
mul
from
python.py_proto
import
mace_pb2
from
python.transform
import
base_converter
from
python.transform.base_converter
import
ConverterUtil
from
python.transform.base_converter
import
EltwiseType
from
python.transform.base_converter
import
MaceKeyword
from
python.transform.base_converter
import
MaceOp
from
python.transform.base_converter
import
PaddingMode
from
python.transform.base_converter
import
PoolingType
from
python.transform.base_converter
import
DataFormat
from
python.transform.base_converter
import
FrameworkType
from
python.utils.util
import
mace_check
from
py_proto
import
mace_pb2
from
transform
import
base_converter
from
transform.base_converter
import
ConverterUtil
from
transform.base_converter
import
EltwiseType
from
transform.base_converter
import
MaceKeyword
from
transform.base_converter
import
MaceOp
from
transform.base_converter
import
PaddingMode
from
transform.base_converter
import
PoolingType
from
transform.base_converter
import
ReduceType
from
transform.base_converter
import
DataFormat
from
transform.base_converter
import
FrameworkType
from
utils.util
import
mace_check
ApuSupportedOps
=
[
...
...
tools/python/transform/base_converter.py
浏览文件 @
80a017ce
...
...
@@ -12,15 +12,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
from
enum
import
Enum
from
python.py_proto
import
mace_pb2
from
python.utils.config_parser
import
DataFormat
from
python.utils.config_parser
import
DeviceType
from
py_proto
import
mace_pb2
from
utils.config_parser
import
DataFormat
from
utils.config_parser
import
DeviceType
# SAME_LOWER: if the amount of paddings to be added is odd,
...
...
tools/python/transform/caffe_converter.py
浏览文件 @
80a017ce
...
...
@@ -12,9 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
math
...
...
@@ -22,18 +19,20 @@ import numpy as np
import
six
import
google.protobuf.text_format
from
python.py_proto
import
mace_pb2
,
caffe_pb2
from
python.utils.util
import
mace_check
from
.
import
base_converter
from
.
import
shape_inference
from
.base_converter
import
PoolingType
from
.base_converter
import
ActivationType
from
.base_converter
import
EltwiseType
from
.base_converter
import
FrameworkType
from
.base_converter
import
DataFormat
from
.base_converter
import
MaceOp
from
.base_converter
import
MaceKeyword
from
.base_converter
import
ConverterUtil
from
py_proto
import
mace_pb2
from
transform
import
base_converter
from
transform
import
shape_inference
from
transform.base_converter
import
PoolingType
from
transform.base_converter
import
ActivationType
from
transform.base_converter
import
EltwiseType
from
transform.base_converter
import
FrameworkType
from
transform.base_converter
import
DataFormat
from
transform.base_converter
import
MaceOp
from
transform.base_converter
import
MaceKeyword
from
transform.base_converter
import
ConverterUtil
from
utils.util
import
mace_check
from
py_proto
import
caffe_pb2
caffe_group_str
=
'group'
caffe_kernel_h_str
=
'kernel_h'
...
...
tools/python/transform/hexagon_converter.py
浏览文件 @
80a017ce
...
...
@@ -16,23 +16,24 @@ from __future__ import absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
copy
import
numpy
as
np
from
enum
import
Enum
from
operator
import
mul
from
functools
import
reduce
from
py
thon.py
_proto
import
mace_pb2
from
python.utils.util
import
mace_check
from
.
import
base_converter
from
.base_converter
import
ConverterUtil
from
.base_converter
import
Devic
eType
from
.base_converter
import
EltwiseType
from
.base_converter
import
MaceKeyword
from
.base_converter
import
MaceOp
from
.base_converter
import
PaddingMod
e
from
.base_converter
import
Pooling
Type
from
.base_converter
import
ReduceType
from
py_proto
import
mace_pb2
from
transform
import
base_converter
from
transform.base_converter
import
ConverterUtil
from
transform.base_converter
import
DeviceType
from
transform.base_converter
import
Eltwis
eType
from
transform.base_converter
import
MaceKeyword
from
transform.base_converter
import
MaceOp
from
transform.base_converter
import
PaddingMode
from
transform.base_converter
import
PoolingTyp
e
from
transform.base_converter
import
Reduce
Type
from
utils.util
import
mace_check
HexagonSupportedOps
=
[
...
...
tools/python/transform/onnx_converter.py
浏览文件 @
80a017ce
...
...
@@ -12,34 +12,32 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
sys
from
enum
import
Enum
import
six
import
numpy
as
np
from
numbers
import
Number
from
python.py_proto
import
mace_pb2
from
.
import
base_converter
from
.base_converter
import
PoolingType
from
.base_converter
import
PaddingMode
from
.base_converter
import
ActivationType
from
.base_converter
import
EltwiseType
from
.base_converter
import
ReduceType
from
.base_converter
import
FrameworkType
from
.base_converter
import
RoundMode
from
.base_converter
import
DataFormat
from
.base_converter
import
MaceOp
from
.base_converter
import
MaceKeyword
from
.base_converter
import
ConverterUtil
from
python.utils.util
import
mace_check
from
py_proto
import
mace_pb2
from
transform
import
base_converter
from
transform.base_converter
import
PoolingType
from
transform.base_converter
import
PaddingMode
from
transform.base_converter
import
ActivationType
from
transform.base_converter
import
EltwiseType
from
transform.base_converter
import
ReduceType
from
transform.base_converter
import
FrameworkType
from
transform.base_converter
import
RoundMode
from
transform.base_converter
import
DataFormat
from
transform.base_converter
import
MaceOp
from
transform.base_converter
import
MaceKeyword
from
transform.base_converter
import
ConverterUtil
from
utils.util
import
mace_check
import
numpy
as
np
import
onnx
import
onnx.utils
from
onnx
import
mapping
,
numpy_helper
,
TensorProto
from
numbers
import
Number
IS_PYTHON3
=
sys
.
version_info
>
(
3
,)
...
...
@@ -193,9 +191,9 @@ OnnxOpType = Enum('OnnxOpType',
onnx_attr_translator
=
{
"axis"
:
lambda
x
:
int
(
x
),
"axes"
:
lambda
x
:
[
int
(
a
)
for
a
in
x
],
"dtype"
:
lambda
x
:
onnx_dtype
(
x
),
"dtype"
:
lambda
x
:
data_type
.
onnx2tf
(
x
),
"keepdims"
:
lambda
x
:
bool
(
x
),
"to"
:
lambda
x
:
onnx_dtype
(
x
),
"to"
:
lambda
x
:
data_type
.
onnx2tf
(
x
),
}
...
...
@@ -569,7 +567,11 @@ class OnnxConverter(base_converter.ConverterInterface):
tensor
.
data_type
=
mace_pb2
.
DT_FLOAT
tensor
.
float_data
.
extend
(
onnx_tensor
.
astype
(
np
.
float32
).
flat
)
elif
data_type
==
np
.
int32
or
data_type
==
np
.
int64
:
elif
data_type
==
np
.
int32
:
tensor
.
data_type
=
mace_pb2
.
DT_INT32
tensor
.
int32_data
.
extend
(
onnx_tensor
.
astype
(
np
.
int32
).
flat
)
elif
data_type
==
np
.
int64
:
tensor
.
data_type
=
mace_pb2
.
DT_INT32
tensor
.
int32_data
.
extend
(
onnx_tensor
.
astype
(
np
.
int32
).
flat
)
...
...
@@ -666,9 +668,9 @@ class OnnxConverter(base_converter.ConverterInterface):
if
'to'
in
node
.
attrs
:
dtype
=
node
.
attrs
[
'to'
]
if
dtype
==
np
.
float32
or
dtype
==
np
.
float64
:
if
dtype
==
TensorProto
.
FLOAT
:
op
.
output_type
.
extend
([
self
.
_option
.
data_type
])
elif
dtype
==
np
.
int64
or
dtype
==
np
.
int32
:
elif
dtype
==
TensorProto
.
INT
:
op
.
output_type
.
extend
([
mace_pb2
.
DT_INT32
])
else
:
mace_check
(
False
,
"data type %s not supported"
%
dtype
)
...
...
@@ -957,9 +959,6 @@ class OnnxConverter(base_converter.ConverterInterface):
if
len
(
const_tensor
.
dims
)
==
0
:
value_arg
=
op
.
arg
.
add
()
value_arg
.
name
=
MaceKeyword
.
mace_scalar_input_str
if
const_tensor
.
data_type
==
mace_pb2
.
DT_INT32
:
value_arg
.
f
=
float
(
const_tensor
.
int32_data
[
0
])
elif
const_tensor
.
data_type
==
mace_pb2
.
DT_FLOAT
:
value_arg
.
f
=
const_tensor
.
float_data
[
0
]
value_index_arg
=
op
.
arg
.
add
()
value_index_arg
.
name
=
\
...
...
@@ -973,9 +972,6 @@ class OnnxConverter(base_converter.ConverterInterface):
if
len
(
const_tensor
.
dims
)
==
0
:
value_arg
=
op
.
arg
.
add
()
value_arg
.
name
=
MaceKeyword
.
mace_scalar_input_str
if
const_tensor
.
data_type
==
mace_pb2
.
DT_INT32
:
value_arg
.
f
=
float
(
const_tensor
.
int32_data
[
0
])
elif
const_tensor
.
data_type
==
mace_pb2
.
DT_FLOAT
:
value_arg
.
f
=
const_tensor
.
float_data
[
0
]
value_index_arg
=
op
.
arg
.
add
()
value_index_arg
.
name
=
\
...
...
tools/python/transform/shape_inference.py
浏览文件 @
80a017ce
...
...
@@ -12,20 +12,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
math
import
numpy
as
np
import
six
from
.transformer
import
Transformer
from
.base_converter
import
DataFormat
from
.base_converter
import
MaceOp
from
.base_converter
import
MaceKeyword
from
.base_converter
import
ConverterUtil
from
python.
utils.util
import
mace_check
from
transform
.transformer
import
Transformer
from
transform
.base_converter
import
DataFormat
from
transform
.base_converter
import
MaceOp
from
transform
.base_converter
import
MaceKeyword
from
transform
.base_converter
import
ConverterUtil
from
utils.util
import
mace_check
class
ShapeInference
(
object
):
...
...
@@ -255,7 +253,7 @@ class ShapeInference(object):
aspect_ratio
=
ConverterUtil
.
get_arg
(
op
,
MaceKeyword
.
mace_aspect_ratio_str
).
floats
# noqa
num_prior
=
len
(
aspect_ratio
)
*
len
(
min_size
)
+
len
(
max_size
)
output_shape
[
2
]
=
int
(
num_prior
*
input_h
*
input_w
*
4
)
output_shape
[
2
]
=
num_prior
*
input_h
*
input_w
*
4
self
.
add_output_shape
(
op
,
[
output_shape
])
def
infer_shape_reshape
(
self
,
op
):
...
...
@@ -277,7 +275,7 @@ class ShapeInference(object):
output_shape
[
i
]
=
dim
[
i
]
product
*=
dim
[
i
]
if
idx
!=
-
1
:
output_shape
[
idx
]
=
in
t
(
input_size
/
product
)
output_shape
[
idx
]
=
in
put_size
/
product
self
.
add_output_shape
(
op
,
[
output_shape
])
else
:
output_shape
=
[]
...
...
tools/python/transform/tensorflow_converter.py
浏览文件 @
80a017ce
...
...
@@ -12,30 +12,27 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
os
import
math
import
numpy
as
np
import
six
import
tensorflow
as
tf
from
enum
import
Enum
from
py
thon.py
_proto
import
mace_pb2
from
.
import
base_converter
from
.base_converter
import
PoolingType
from
.base_converter
import
PaddingMode
from
.base_converter
import
ActivationType
from
.base_converter
import
EltwiseType
from
.base_converter
import
PadType
from
.base_converter
import
FrameworkType
from
.base_converter
import
ReduceType
from
.base_converter
import
DataFormat
from
.base_converter
import
MaceOp
from
.base_converter
import
MaceKeyword
from
.base_converter
import
ConverterUtil
from
python.
utils.util
import
mace_check
from
py_proto
import
mace_pb2
from
transform
import
base_converter
from
transform
.base_converter
import
PoolingType
from
transform
.base_converter
import
PaddingMode
from
transform
.base_converter
import
ActivationType
from
transform
.base_converter
import
EltwiseType
from
transform
.base_converter
import
PadType
from
transform
.base_converter
import
FrameworkType
from
transform
.base_converter
import
ReduceType
from
transform
.base_converter
import
DataFormat
from
transform
.base_converter
import
MaceOp
from
transform
.base_converter
import
MaceKeyword
from
transform
.base_converter
import
ConverterUtil
from
utils.util
import
mace_check
from
tensorflow.core.framework
import
tensor_shape_pb2
from
tensorflow.tools.graph_transforms
import
TransformGraph
...
...
tools/python/transform/transformer.py
浏览文件 @
80a017ce
...
...
@@ -12,31 +12,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
re
import
numpy
as
np
import
six
from
py
thon.py
_proto
import
mace_pb2
from
.
import
base_converter
from
.base_converter
import
ConverterUtil
from
.base_converter
import
DataFormat
from
.base_converter
import
DeviceType
from
.base_converter
import
EltwiseType
from
.base_converter
import
FrameworkType
from
.base_converter
import
MaceKeyword
from
.base_converter
import
MaceOp
from
.base_converter
import
MaceFixedDataFormatOps
# noqa
from
.base_converter
import
MaceTransposableDataFormatOps
# noqa
from
.base_converter
import
PaddingMode
from
.base_converter
import
ReduceType
from
.base_converter
import
TransformerRule
from
python.
quantize
import
quantize_util
from
python.
utils.util
import
mace_check
from
py_proto
import
mace_pb2
from
transform
import
base_converter
from
transform
.base_converter
import
ConverterUtil
from
transform
.base_converter
import
DataFormat
from
transform
.base_converter
import
DeviceType
from
transform
.base_converter
import
EltwiseType
from
transform
.base_converter
import
FrameworkType
from
transform
.base_converter
import
MaceKeyword
from
transform
.base_converter
import
MaceOp
from
transform
.base_converter
import
MaceFixedDataFormatOps
# noqa
from
transform
.base_converter
import
MaceTransposableDataFormatOps
# noqa
from
transform
.base_converter
import
PaddingMode
from
transform
.base_converter
import
ReduceType
from
transform
.base_converter
import
TransformerRule
from
quantize
import
quantize_util
from
utils.util
import
mace_check
class
Transformer
(
base_converter
.
ConverterInterface
):
...
...
@@ -1443,10 +1440,10 @@ class Transformer(base_converter.ConverterInterface):
arg
.
i
=
1
elif
arg
.
i
==
3
:
arg
.
i
=
2
if
op
.
input
[
0
]
in
self
.
_producer
:
producer
=
self
.
_producer
[
op
.
input
[
0
]]
input_shape
=
producer
.
output_shape
[
0
].
dims
if
producer
.
type
==
MaceOp
.
FullyConnected
.
name
and
\
if
producer
.
type
==
MaceOp
.
FullyConnected
.
name
and
\
len
(
input_shape
)
==
2
:
axis_arg
=
ConverterUtil
.
get_arg
(
op
,
MaceKeyword
.
mace_axis_str
)
...
...
tools/python/utils/config_parser.py
浏览文件 @
80a017ce
...
...
@@ -22,9 +22,9 @@ import copy
import
yaml
from
enum
import
Enum
from
python.
utils.util
import
mace_check
from
python.
utils.util
import
MaceLogger
from
py
thon.py
_proto
import
mace_pb2
from
utils.util
import
mace_check
from
utils.util
import
MaceLogger
from
py_proto
import
mace_pb2
CPP_KEYWORDS
=
[
'alignas'
,
'alignof'
,
'and'
,
'and_eq'
,
'asm'
,
'atomic_cancel'
,
...
...
tools/python/utils/device.py
浏览文件 @
80a017ce
...
...
@@ -23,7 +23,7 @@ import subprocess
import
random
import
tempfile
from
python.
utils
import
util
from
utils
import
util
def
execute
(
cmd
,
verbose
=
True
):
...
...
tools/python/utils/target.py
浏览文件 @
80a017ce
...
...
@@ -12,6 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
...
...
tools/python/validate.py
浏览文件 @
80a017ce
...
...
@@ -12,19 +12,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
os
import
os.path
import
numpy
as
np
import
six
from
py
thon.py
_proto
import
mace_pb2
from
python.
utils
import
util
from
python.
utils.config_parser
import
DataFormat
from
python.
utils.config_parser
import
Platform
from
py_proto
import
mace_pb2
from
utils
import
util
from
utils.config_parser
import
DataFormat
from
utils.config_parser
import
Platform
VALIDATION_MODULE
=
'VALIDATION'
...
...
tools/sh_commands.py
浏览文件 @
80a017ce
...
...
@@ -21,6 +21,7 @@ import re
import
sh
import
struct
import
sys
import
time
import
platform
import
six
...
...
tools/validate.py
浏览文件 @
80a017ce
...
...
@@ -13,9 +13,11 @@
# limitations under the License.
import
argparse
import
sys
import
os
import
os.path
import
numpy
as
np
import
re
import
six
import
common
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录