def run_models_for_device(flags, args, dev): conf = config_parser.parse(flags.config) for name, model_conf in conf["models"].items(): if not flags.model_name or name == flags.model_name: MaceLogger.info("Run model %s" % name) model_conf = config_parser.normalize_model_config(model_conf) run_model_for_device(flags, args, dev, name, model_conf)
def run_models(flags, args): if flags.device_conf: device_conf = config_parser.parse_device_info(flags.device_conf) device.ArmLinuxDevice.set_devices(device_conf) run_devices = device.choose_devices(flags.target_abi, flags.target_socs) MaceLogger.info("Run on devices: %s" % run_devices) for device_id in run_devices: dev = device.create_device(flags.target_abi, device_id) run_models_for_device(flags, args, dev)
def run_models(flags, args): if flags.device_conf: device_conf = config_parser.parse_device_info(flags.device_conf) device.ArmLinuxDevice.set_devices(device_conf) run_devices = device.choose_devices(flags.target_abi, flags.target_socs) MaceLogger.info("Run on devices: %s" % run_devices) for device_id in run_devices: dev = device.create_device(flags.target_abi, device_id) if len(flags.devices_to_run) > 0 and \ device_id not in flags.devices_to_run.split(','): continue run_models_for_device(flags, args, dev)
def generate_input_data(input_file, input_node, input_shape, input_ranges, input_data_type): np.random.seed() for i in range(len(input_node)): data = np.random.random(input_shape[i]) * ( input_ranges[i][1] - input_ranges[i][0]) + input_ranges[i][0] input_file_name = util.formatted_file_name(input_file, input_node[i]) MaceLogger.info('Generate input file: %s' % input_file_name) if input_data_type[i] == mace_pb2.DT_FLOAT: np_data_type = np.float32 elif input_data_type[i] == mace_pb2.DT_INT32: np_data_type = np.int32 data.astype(np_data_type).tofile(input_file_name)
f.write(source) if __name__ == '__main__': flags = parse_args() codegen_dir = "mace/codegen/models" device.execute("rm -rf %s/*" % codegen_dir) models = [] if flags.config: conf = config_parser.parse(flags.config) for name, model_conf in conf["models"].items(): model_conf = config_parser.normalize_model_config(model_conf) if not flags.model_name or name == flags.model_name: MaceLogger.info("Encrypt model %s" % name) encrypt(name, "build/%s/model/%s.pb" % (name, name), "build/%s/model/%s.data" % (name, name), model_conf[ModelKeys.runtime], codegen_dir + "/" + name, not flags.no_obfuscate, flags.gencode_model, flags.gencode_param) models.append(name) os.rename("%s/%s/%s.pb" % (codegen_dir, name, name), "build/%s/model/%s.pb" % (name, name)) os.rename("%s/%s/%s.data" % (codegen_dir, name, name), "build/%s/model/%s.data" % (name, name)) else: device_type = config_parser.parse_device_type(flags.device) encrypt(flags.model_name, flags.model_file, flags.params_file, device_type, codegen_dir, not flags.no_obfuscate, flags.gencode_model, flags.gencode_param)