Browse Source

Add mindconverter logger to print warning level msg to stdout.

tags/v1.2.0-rc1
liuchongming 4 years ago
parent
commit
6f405b227e
4 changed files with 34 additions and 20 deletions
  1. +1
    -7
      mindinsight/mindconverter/cli.py
  2. +1
    -6
      mindinsight/mindconverter/common/exceptions.py
  3. +30
    -3
      mindinsight/mindconverter/common/log.py
  4. +2
    -4
      mindinsight/mindconverter/graph_based_converter/framework.py

+ 1
- 7
mindinsight/mindconverter/cli.py View File

@@ -459,9 +459,7 @@ def _run(in_files, model_file, shape, input_nodes, output_nodes, out_dir, report
for file in files: for file in files:
files_config['in_files'].append(os.path.join(root_dir, file)) files_config['in_files'].append(os.path.join(root_dir, file))
main(files_config) main(files_config)
log_console.info("\n")
log_console.info("MindConverter: conversion is completed.") log_console.info("MindConverter: conversion is completed.")
log_console.info("\n")


elif model_file: elif model_file:
file_config = { file_config = {
@@ -478,14 +476,10 @@ def _run(in_files, model_file, shape, input_nodes, output_nodes, out_dir, report
sys.path.append(project_path) sys.path.append(project_path)


main_graph_base_converter(file_config) main_graph_base_converter(file_config)
log_console.info("\n")
log_console.info("MindConverter: conversion is completed.") log_console.info("MindConverter: conversion is completed.")
log_console.info("\n")
else: else:
error_msg = "`--in_file` and `--model_file` should be set at least one." error_msg = "`--in_file` and `--model_file` should be set at least one."
error = FileNotFoundError(error_msg) error = FileNotFoundError(error_msg)
log.error(str(error)) log.error(str(error))
log_console.error("\n")
log_console.error("mindconverter: error: %s", str(error))
log_console.error("\n")
log_console.error(f"mindconverter: error: {str(error)}")
sys.exit(-1) sys.exit(-1)

+ 1
- 6
mindinsight/mindconverter/common/exceptions.py View File

@@ -140,17 +140,12 @@ class MindConverterException(Exception):
if not isinstance(e, MindConverterException): if not isinstance(e, MindConverterException):
detail_info = cls.normalize_error_msg(str(e)) detail_info = cls.normalize_error_msg(str(e))
log.error(error) log.error(error)
log_console.error("\n")
log_console.error(detail_info) log_console.error(detail_info)
log_console.error("\n")
log.exception(e) log.exception(e)
sys.exit(0) sys.exit(0)
except ModuleNotFoundError as e: except ModuleNotFoundError as e:
detail_info = "Error detail: Required package not found, please check the runtime environment." detail_info = "Error detail: Required package not found, please check the runtime environment."
log_console.error("\n")
log_console.error(str(e))
log_console.error(detail_info)
log_console.error("\n")
log_console.error(f"{str(e)}\n{detail_info}")
log.exception(e) log.exception(e)
sys.exit(0) sys.exit(0)
return res return res


+ 30
- 3
mindinsight/mindconverter/common/log.py View File

@@ -1,4 +1,4 @@
# Copyright 2020 Huawei Technologies Co., Ltd
# Copyright 2020-2021 Huawei Technologies Co., Ltd
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -13,8 +13,35 @@
# limitations under the License. # limitations under the License.
# ============================================================================ # ============================================================================
"""Create a logger.""" """Create a logger."""
__all__ = ["logger", "logger_console"]

from mindinsight.utils.log import setup_logger from mindinsight.utils.log import setup_logger


logger = setup_logger("mindconverter", "mindconverter", console=False) logger = setup_logger("mindconverter", "mindconverter", console=False)
logger_console = setup_logger("mindconverter", "mindconverter", console=True,
sub_log_name="logger_console", formatter="%(message)s")


class MindConverterLogger:
"""MindConverter logger for stdout."""

def __init__(self):
self.logger = setup_logger("mindconverter", "mindconverter", console=True,
sub_log_name="logger_console", formatter="%(message)s")

def warning(self, msg):
"""Log warning message to stdout."""
self.logger.warning("[WARNING] MINDCONVERTER: %s", msg)

def info(self, msg):
"""Log info level message to stdout."""
self.logger.info("\n")
self.logger.info("[INFO] MINDCONVERTER: %s", msg)
self.logger.info("\n")

def error(self, msg):
"""Log error level message to stdout."""
self.logger.error("\n")
self.logger.error("[ERROR] MINDCONVERTER: %s", msg)
self.logger.error("\n")


logger_console = MindConverterLogger()

+ 2
- 4
mindinsight/mindconverter/graph_based_converter/framework.py View File

@@ -45,8 +45,8 @@ def onnx_lib_version_satisfied():
ort = import_module("onnxruntime") ort = import_module("onnxruntime")
optimizer = import_module("onnxoptimizer.version") optimizer = import_module("onnxoptimizer.version")
if not lib_version_satisfied(getattr(ort, "__version__"), ONNXRUNTIME_MIN_VER): if not lib_version_satisfied(getattr(ort, "__version__"), ONNXRUNTIME_MIN_VER):
log_console.warning("onnxruntime's version should be greater than %s, however current version is %s.",
ONNXRUNTIME_MIN_VER, ort.__version__)
log_console.warning(f"onnxruntime's version should be greater than {ONNXRUNTIME_MIN_VER}, "
f"however current version is {ort.__version__}.")


if not lib_version_satisfied(getattr(onnx, "__version__"), ONNX_MIN_VER) \ if not lib_version_satisfied(getattr(onnx, "__version__"), ONNX_MIN_VER) \
or not lib_version_satisfied(getattr(optimizer, "version"), ONNXOPTIMIZER_MIN_VER): or not lib_version_satisfied(getattr(optimizer, "version"), ONNXOPTIMIZER_MIN_VER):
@@ -57,9 +57,7 @@ def onnx_lib_version_satisfied():
def _print_error(err): def _print_error(err):
"""Print error to stdout and record it.""" """Print error to stdout and record it."""
log.error(err) log.error(err)
log_console.error("\n")
log_console.error(str(err)) log_console.error(str(err))
log_console.error("\n")




def torch_version_satisfied(output_queue): def torch_version_satisfied(output_queue):


Loading…
Cancel
Save