diff --git a/tools/mace_tools.py b/tools/mace_tools.py index 9be8e5388a59ae1519d85c3f98bff7b43b967a12..f06ec24a014742d5acfe15c0a7dfafb73b9bc067 100644 --- a/tools/mace_tools.py +++ b/tools/mace_tools.py @@ -199,41 +199,51 @@ def build_mace_run_prod(hexagon_mode, runtime, target_abi, input_shapes, output_shapes, model_name, device_type, running_round, restart_round, tuning, limit_opencl_kernel_time, phone_data_dir): - gen_opencl_and_tuning_code(target_abi, serialno, [], False) - production_or_not = False mace_run_target = "//mace/tools/validation:mace_run" - sh_commands.bazel_build( - mace_run_target, - abi=target_abi, - model_tag=model_name, - production_mode=False, - hexagon_mode=hexagon_mode) - sh_commands.update_mace_run_lib(model_output_dir, target_abi, model_name, - embed_model_data) - - tuning_run(runtime, target_abi, serialno, vlog_level, - embed_model_data, model_output_dir, input_nodes, output_nodes, - input_shapes, output_shapes, model_name, device_type, - running_round=0, restart_round=1, out_of_range_check=True, - phone_data_dir=phone_data_dir, tuning=False) - - tuning_run(runtime, target_abi, serialno, vlog_level, - embed_model_data, model_output_dir, input_nodes, output_nodes, - input_shapes, output_shapes, model_name, device_type, - running_round=0, restart_round=1, out_of_range_check=False, - phone_data_dir=phone_data_dir, tuning=tuning, - limit_opencl_kernel_time=limit_opencl_kernel_time) - - gen_opencl_and_tuning_code(target_abi, serialno, [model_output_dir], True) - production_or_not = True - sh_commands.bazel_build( - mace_run_target, - abi=target_abi, - model_tag=model_name, - production_mode=True, - hexagon_mode=hexagon_mode) - sh_commands.update_mace_run_lib(model_output_dir, target_abi, model_name, - embed_model_data) + if runtime == "gpu": + gen_opencl_and_tuning_code(target_abi, serialno, [], False) + sh_commands.bazel_build( + mace_run_target, + abi=target_abi, + model_tag=model_name, + production_mode=False, + hexagon_mode=hexagon_mode) + sh_commands.update_mace_run_lib(model_output_dir, target_abi, + model_name, embed_model_data) + + tuning_run(runtime, target_abi, serialno, vlog_level, embed_model_data, + model_output_dir, input_nodes, output_nodes, input_shapes, + output_shapes, model_name, device_type, running_round=0, + restart_round=1, out_of_range_check=True, + phone_data_dir=phone_data_dir, tuning=False) + + tuning_run(runtime, target_abi, serialno, vlog_level, embed_model_data, + model_output_dir, input_nodes, output_nodes, input_shapes, + output_shapes, model_name, device_type, running_round=0, + restart_round=1, out_of_range_check=False, + phone_data_dir=phone_data_dir, tuning=tuning, + limit_opencl_kernel_time=limit_opencl_kernel_time) + + gen_opencl_and_tuning_code(target_abi, serialno, [model_output_dir], + True) + sh_commands.bazel_build( + mace_run_target, + abi=target_abi, + model_tag=model_name, + production_mode=True, + hexagon_mode=hexagon_mode) + sh_commands.update_mace_run_lib(model_output_dir, target_abi, + model_name, embed_model_data) + else: + gen_opencl_and_tuning_code(target_abi, serialno, [], False) + sh_commands.bazel_build( + mace_run_target, + abi=target_abi, + model_tag=model_name, + production_mode=True, + hexagon_mode=hexagon_mode) + sh_commands.update_mace_run_lib(model_output_dir, target_abi, + model_name, embed_model_data) def merge_libs_and_tuning_results(target_soc, diff --git a/tools/sh_commands.py b/tools/sh_commands.py index 8817dd93c1fb13099db3d0af6c775aedb9d0d442..61f49b52b255a656a1e01b998179afd5da3e61de 100644 --- a/tools/sh_commands.py +++ b/tools/sh_commands.py @@ -643,6 +643,11 @@ def validate_model(abi, sh.docker("build", "-t", image_name, "docker/caffe") container_id = sh.docker("ps", "-qa", "-f", "name=%s" % container_name) + if container_id and not sh.docker("ps", "-qa", "--filter", + "status=running", "-f", + "name=%s" % container_name): + sh.docker("rm", "-f", container_name) + container_id = "" if not container_id: print("Run caffe container") sh.docker( @@ -654,14 +659,6 @@ def validate_model(abi, image_name, "/bin/bash") - container_status = sh.docker("inspect", - "-f", - "{{.State.Running}}", - container_name) - if container_status == "false": - print("Start caffe container") - sh.docker("start", container_name) - for input_name in input_nodes: formatted_input_name = formatted_file_name( input_name, input_file_name)