diff --git a/mobile_back_apple/cpp/backend_coreml/coreml_settings.pbtxt b/mobile_back_apple/cpp/backend_coreml/coreml_settings.pbtxt index 496d9c439..a607f61c2 100644 --- a/mobile_back_apple/cpp/backend_coreml/coreml_settings.pbtxt +++ b/mobile_back_apple/cpp/backend_coreml/coreml_settings.pbtxt @@ -22,7 +22,7 @@ benchmark_setting { model_checksum: "39483b20b878d46144ab4cfe9a3e5600" } } - delegate_choice: { + delegate_choice: { delegate_name: "CPU & ANE" accelerator_name: "cpu&ane" accelerator_desc: "CPU and Neural Engine" @@ -57,7 +57,7 @@ benchmark_setting { model_checksum: "39483b20b878d46144ab4cfe9a3e5600" } } - delegate_choice: { + delegate_choice: { delegate_name: "CPU & ANE" accelerator_name: "cpu&ane" accelerator_desc: "CPU and Neural Engine" @@ -81,6 +81,10 @@ benchmark_setting { model_path: "https://github.com/mlcommons/mobile_models/releases/download/v4.1-coreml/mobilenetv4_fp32_NCHW.mlpackage.zip" model_checksum: "164c504eb3e9af6c730c1765b8b81b32" } + custom_setting { + id: "data-format" + value: "NCHW" + } } delegate_choice: { delegate_name: "CPU & GPU" @@ -90,6 +94,10 @@ benchmark_setting { model_path: "https://github.com/mlcommons/mobile_models/releases/download/v4.1-coreml/mobilenetv4_fp32_NCHW.mlpackage.zip" model_checksum: "164c504eb3e9af6c730c1765b8b81b32" } + custom_setting { + id: "data-format" + value: "NCHW" + } } delegate_choice: { delegate_name: "CPU & ANE" @@ -99,6 +107,10 @@ benchmark_setting { model_path: "https://github.com/mlcommons/mobile_models/releases/download/v4.1-coreml/mobilenetv4_fp32_NCHW.mlpackage.zip" model_checksum: "164c504eb3e9af6c730c1765b8b81b32" } + custom_setting { + id: "data-format" + value: "NCHW" + } } delegate_selected: "CPU & GPU & ANE" } @@ -115,6 +127,10 @@ benchmark_setting { model_path: "https://github.com/mlcommons/mobile_models/releases/download/v4.1-coreml/mobilenetv4_fp32_NCHW.mlpackage.zip" model_checksum: "164c504eb3e9af6c730c1765b8b81b32" } + custom_setting { + id: "data-format" + value: "NCHW" + } } delegate_choice: { delegate_name: "CPU & GPU" @@ -125,6 +141,10 @@ benchmark_setting { model_path: "https://github.com/mlcommons/mobile_models/releases/download/v4.1-coreml/mobilenetv4_fp32_NCHW.mlpackage.zip" model_checksum: "164c504eb3e9af6c730c1765b8b81b32" } + custom_setting { + id: "data-format" + value: "NCHW" + } } delegate_choice: { delegate_name: "CPU & ANE" @@ -135,6 +155,10 @@ benchmark_setting { model_path: "https://github.com/mlcommons/mobile_models/releases/download/v4.1-coreml/mobilenetv4_fp32_NCHW.mlpackage.zip" model_checksum: "164c504eb3e9af6c730c1765b8b81b32" } + custom_setting { + id: "data-format" + value: "NCHW" + } } delegate_selected: "CPU & GPU & ANE" } @@ -160,7 +184,7 @@ benchmark_setting { model_checksum: "ef849fbf2132e205158f05ca42db25f4" } } - delegate_choice: { + delegate_choice: { delegate_name: "CPU & ANE" accelerator_name: "cpu&ane" accelerator_desc: "CPU and Neural Engine" @@ -217,7 +241,7 @@ benchmark_setting { model_checksum: "362d6b5bb1b8e10ae5b4e223f60d4d10" } } - delegate_choice: { + delegate_choice: { delegate_name: "CPU & ANE" accelerator_name: "cpu&ane" accelerator_desc: "CPU and Neural Engine" @@ -250,7 +274,7 @@ benchmark_setting { model_checksum: "62489706f20b0c2ae561fb2204eefb61" } } - delegate_choice: { + delegate_choice: { delegate_name: "CPU & ANE" accelerator_name: "cpu&ane" accelerator_desc: "CPU and Neural Engine" diff --git a/mobile_back_apple/cpp/backend_coreml/main.cc b/mobile_back_apple/cpp/backend_coreml/main.cc index a2246345f..af753d566 100644 --- a/mobile_back_apple/cpp/backend_coreml/main.cc +++ b/mobile_back_apple/cpp/backend_coreml/main.cc @@ -101,8 +101,9 @@ mlperf_backend_ptr_t mlperf_backend_create( CoreMLBackendData *backend_data = new CoreMLBackendData(); backendExists = true; - // quick hack for checking if model expects NCHW input. - if (strcasestr(model_path, "NCHW") != nullptr) { + std::string dataFormat = + mlperf::mobile::GetConfigValue(configs, "data-format", std::string("")); + if (dataFormat == "NCHW") { backend_data->expectNCHW = true; LOG(INFO) << "Will convert inputs from NHWC to NCHW!"; } diff --git a/mobile_back_apple/dev-utils/Makefile b/mobile_back_apple/dev-utils/Makefile index 7ca5c27ca..8a859695e 100644 --- a/mobile_back_apple/dev-utils/Makefile +++ b/mobile_back_apple/dev-utils/Makefile @@ -139,7 +139,7 @@ tflite-run-sd: coreml-build: cd ${REPO_ROOT_DIR} && \ - bazel build -c opt --cxxopt=-fobjc-arc --cxxopt=-xobjective-c++ --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 \ + bazel build -c opt --cxxopt=-fobjc-arc --cxxopt=-xobjective-c++ --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 --macos_minimum_os=13.0 \ //flutter/cpp/binary:main //mobile_back_apple:coremlbackend coreml-run-ic: