From 80a017ce4f5e31d47601a7ffaee12e0152466a2a Mon Sep 17 00:00:00 2001 From: liyin Date: Fri, 27 Sep 2019 12:27:49 +0800 Subject: [PATCH] Add CMake and ZH docs Revert "Merge branch 'refactor-python-scripts' into 'master'" This reverts merge request !1200 --- tools/common.py | 1 + tools/converter.py | 9 ++- tools/generate_data.py | 2 + tools/layers_validate.py | 18 +++--- tools/python/convert.py | 37 ++++++------ tools/python/encrypt.py | 17 +++--- tools/python/gen_opencl.py | 6 +- tools/python/py_proto/__init__.py | 4 +- tools/python/quantize/quantize_util.py | 2 +- tools/python/quantize/quantize_util_test.py | 2 +- tools/python/run_model.py | 22 +++---- tools/python/run_target.py | 8 +-- tools/python/transform/apu_converter.py | 29 +++++---- tools/python/transform/base_converter.py | 10 ++-- tools/python/transform/caffe_converter.py | 29 +++++---- tools/python/transform/hexagon_converter.py | 23 +++---- tools/python/transform/onnx_converter.py | 60 +++++++++---------- tools/python/transform/shape_inference.py | 20 +++---- .../python/transform/tensorflow_converter.py | 33 +++++----- tools/python/transform/transformer.py | 53 ++++++++-------- tools/python/utils/config_parser.py | 6 +- tools/python/utils/device.py | 2 +- tools/python/utils/target.py | 2 + tools/python/validate.py | 12 ++-- tools/sh_commands.py | 1 + tools/validate.py | 2 + 26 files changed, 200 insertions(+), 210 deletions(-) diff --git a/tools/common.py b/tools/common.py index 8b8e74c8..8642ad4a 100644 --- a/tools/common.py +++ b/tools/common.py @@ -17,6 +17,7 @@ import hashlib import inspect import re import os + import six diff --git a/tools/converter.py b/tools/converter.py index 839d16e7..172708f8 100644 --- a/tools/converter.py +++ b/tools/converter.py @@ -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 diff --git a/tools/generate_data.py b/tools/generate_data.py index 6371a17d..b80f0c20 100644 --- a/tools/generate_data.py +++ b/tools/generate_data.py @@ -13,7 +13,9 @@ # limitations under the License. import argparse +import sys import numpy as np +import re import common import six diff --git a/tools/layers_validate.py b/tools/layers_validate.py index 534b3441..8b8b2928 100644 --- a/tools/layers_validate.py +++ b/tools/layers_validate.py @@ -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): diff --git a/tools/python/convert.py b/tools/python/convert.py index 7ca33a3b..24ad303b 100644 --- a/tools/python/convert.py +++ b/tools/python/convert.py @@ -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() diff --git a/tools/python/encrypt.py b/tools/python/encrypt.py index ec57a182..6a28fe2f 100644 --- a/tools/python/encrypt.py +++ b/tools/python/encrypt.py @@ -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() diff --git a/tools/python/gen_opencl.py b/tools/python/gen_opencl.py index 5f9186ed..ff82e528 100644 --- a/tools/python/gen_opencl.py +++ b/tools/python/gen_opencl.py @@ -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, diff --git a/tools/python/py_proto/__init__.py b/tools/python/py_proto/__init__.py index a4980691..da5f48fd 100644 --- a/tools/python/py_proto/__init__.py +++ b/tools/python/py_proto/__init__.py @@ -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__) diff --git a/tools/python/quantize/quantize_util.py b/tools/python/quantize/quantize_util.py index 9a5b75bb..bb80e0dc 100644 --- a/tools/python/quantize/quantize_util.py +++ b/tools/python/quantize/quantize_util.py @@ -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): diff --git a/tools/python/quantize/quantize_util_test.py b/tools/python/quantize/quantize_util_test.py index 8b283ff8..d963db72 100644 --- a/tools/python/quantize/quantize_util_test.py +++ b/tools/python/quantize/quantize_util_test.py @@ -14,7 +14,7 @@ import unittest import numpy as np -import quantize_util +import quantize.quantize_util class TestQuantize(unittest.TestCase): diff --git a/tools/python/run_model.py b/tools/python/run_model.py index 10ea4f6a..52e081fa 100644 --- a/tools/python/run_model.py +++ b/tools/python/run_model.py @@ -22,17 +22,17 @@ import tempfile import shutil import numpy as np -from python.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: diff --git a/tools/python/run_target.py b/tools/python/run_target.py index 801340a9..370b2423 100644 --- a/tools/python/run_target.py +++ b/tools/python/run_target.py @@ -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"): diff --git a/tools/python/transform/apu_converter.py b/tools/python/transform/apu_converter.py index e36c144d..12f302ec 100644 --- a/tools/python/transform/apu_converter.py +++ b/tools/python/transform/apu_converter.py @@ -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 = [ diff --git a/tools/python/transform/base_converter.py b/tools/python/transform/base_converter.py index fe93d048..11a15b2a 100644 --- a/tools/python/transform/base_converter.py +++ b/tools/python/transform/base_converter.py @@ -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, diff --git a/tools/python/transform/caffe_converter.py b/tools/python/transform/caffe_converter.py index b937d411..fd75501b 100644 --- a/tools/python/transform/caffe_converter.py +++ b/tools/python/transform/caffe_converter.py @@ -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' diff --git a/tools/python/transform/hexagon_converter.py b/tools/python/transform/hexagon_converter.py index f9c6a712..900c0ba1 100644 --- a/tools/python/transform/hexagon_converter.py +++ b/tools/python/transform/hexagon_converter.py @@ -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 python.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 DeviceType -from .base_converter import EltwiseType -from .base_converter import MaceKeyword -from .base_converter import MaceOp -from .base_converter import PaddingMode -from .base_converter import PoolingType -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 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 utils.util import mace_check HexagonSupportedOps = [ diff --git a/tools/python/transform/onnx_converter.py b/tools/python/transform/onnx_converter.py index e682b3dd..c7d11ab7 100644 --- a/tools/python/transform/onnx_converter.py +++ b/tools/python/transform/onnx_converter.py @@ -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,10 +959,7 @@ 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_arg.f = const_tensor.float_data[0] value_index_arg = op.arg.add() value_index_arg.name = \ MaceKeyword.mace_scalar_input_index_str @@ -973,10 +972,7 @@ 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_arg.f = const_tensor.float_data[0] value_index_arg = op.arg.add() value_index_arg.name = \ MaceKeyword.mace_scalar_input_index_str diff --git a/tools/python/transform/shape_inference.py b/tools/python/transform/shape_inference.py index 61db3af3..e035944d 100644 --- a/tools/python/transform/shape_inference.py +++ b/tools/python/transform/shape_inference.py @@ -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] = int(input_size / product) + output_shape[idx] = input_size / product self.add_output_shape(op, [output_shape]) else: output_shape = [] diff --git a/tools/python/transform/tensorflow_converter.py b/tools/python/transform/tensorflow_converter.py index 69bf0538..48b475bb 100644 --- a/tools/python/transform/tensorflow_converter.py +++ b/tools/python/transform/tensorflow_converter.py @@ -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 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 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 diff --git a/tools/python/transform/transformer.py b/tools/python/transform/transformer.py index 76d59ce9..5344e8d5 100644 --- a/tools/python/transform/transformer.py +++ b/tools/python/transform/transformer.py @@ -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 python.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,15 +1440,15 @@ 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\ - len(input_shape) == 2: - axis_arg = ConverterUtil.get_arg( - op, MaceKeyword.mace_axis_str) - if axis_arg.i == 1: - axis_arg.i = 3 + + producer = self._producer[op.input[0]] + input_shape = producer.output_shape[0].dims + if producer.type == MaceOp.FullyConnected.name and \ + len(input_shape) == 2: + axis_arg = ConverterUtil.get_arg( + op, MaceKeyword.mace_axis_str) + if axis_arg.i == 1: + axis_arg.i = 3 elif op.type == MaceOp.Squeeze.name: for arg in op.arg: diff --git a/tools/python/utils/config_parser.py b/tools/python/utils/config_parser.py index 88497746..35de4bd9 100644 --- a/tools/python/utils/config_parser.py +++ b/tools/python/utils/config_parser.py @@ -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 python.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', diff --git a/tools/python/utils/device.py b/tools/python/utils/device.py index 1813c0ca..579d70ff 100644 --- a/tools/python/utils/device.py +++ b/tools/python/utils/device.py @@ -23,7 +23,7 @@ import subprocess import random import tempfile -from python.utils import util +from utils import util def execute(cmd, verbose=True): diff --git a/tools/python/utils/target.py b/tools/python/utils/target.py index aa37ba6a..11c972df 100644 --- a/tools/python/utils/target.py +++ b/tools/python/utils/target.py @@ -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 diff --git a/tools/python/validate.py b/tools/python/validate.py index b3d78008..7004d2a8 100644 --- a/tools/python/validate.py +++ b/tools/python/validate.py @@ -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 python.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' diff --git a/tools/sh_commands.py b/tools/sh_commands.py index 85a11f05..4b029485 100644 --- a/tools/sh_commands.py +++ b/tools/sh_commands.py @@ -21,6 +21,7 @@ import re import sh import struct import sys +import time import platform import six diff --git a/tools/validate.py b/tools/validate.py index 0f51c881..9980a0a9 100644 --- a/tools/validate.py +++ b/tools/validate.py @@ -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 -- GitLab