voice_audio_multi/examples/model_spec_demo/model_spec_demo.cpp
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

35 lines
1.5 KiB
C++

#include "engine/framework/model_spec/package.h"
#include <exception>
#include <iostream>
int main(int argc, char ** argv) {
if (argc != 3) {
std::cerr << "usage: model_spec_demo <spec.json> <model-dir>\n";
return 2;
}
try {
const std::filesystem::path spec_path(argv[1]);
const std::filesystem::path model_path(argv[2]);
const auto spec = engine::model_spec::load_spec(spec_path);
const auto resources = engine::model_spec::load_resource_bundle(model_path, spec_path);
std::cout << "family=" << spec.require("family").as_string() << "\n";
std::cout << "display_name=" << spec.require("display_name").as_string() << "\n";
std::cout << "model_root=" << resources.model_root().string() << "\n";
std::cout << "files=" << resources.files().size() << "\n";
const auto configs = engine::model_spec::discover_resources(
model_path,
spec_path,
engine::model_spec::ResourceKind::Files);
const auto tensors = engine::model_spec::discover_resources(
model_path,
spec_path,
engine::model_spec::ResourceKind::Tensors);
std::cout << "discovered_configs=" << configs.size() << "\n";
std::cout << "discovered_tensors=" << tensors.size() << "\n";
return 0;
} catch (const std::exception & error) {
std::cerr << "model_spec_demo failed: " << error.what() << "\n";
return 1;
}
}