// // Copyright (c) 2017 XiaoMi All rights reserved. // Generated by the mace converter. DO NOT EDIT! // #include #include #include "mace/public/mace.h" #include "mace/utils/env_time.h" #include "mace/utils/logging.h" {% if not embed_model_data %} #include #include #include #include #include {% endif %} namespace mace { namespace {{tag}} { {% if embed_model_data %} alignas(4) const unsigned char model_data[{{ model_data_size }}] = { {% for d in model_data %}{{"0x%02X, " % d }}{%endfor%} }; {% endif %} const unsigned char *LoadModelData(const char *model_data_file) { {% if embed_model_data %} return model_data; {% else %} int fd = open(model_data_file, O_RDONLY); MACE_CHECK(fd >= 0, "Failed to open model data file ", model_data_file, ", error code: ", errno); const unsigned char *model_data = static_cast(mmap(nullptr, {{ model_data_size }}, PROT_READ, MAP_PRIVATE, fd, 0)); MACE_CHECK(model_data != MAP_FAILED, "Failed to map model data file ", model_data_file, ", error code: ", errno); int ret = close(fd); MACE_CHECK(ret == 0, "Failed to close model data file ", model_data_file, ", error code: ", errno); return model_data; {% endif %} } void UnloadModelData(const unsigned char *model_data) { {% if not embed_model_data %} int ret = munmap(const_cast(model_data), {{ model_data_size }}); MACE_CHECK(ret == 0, "Failed to unmap model data file, error code: ", errno); {% endif %} } } // namespace {{tag}} } // namespace mace