-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
I am building a package and installing in a common location to make it easier to use as a global library and am currently patching cli.cpp thus:
src/cli/cli.cpp
--- a/src/cli/cli.cpp 2026-02-06 12:13:30.426359449 +0000
+++ b/src/cli/cli.cpp 2026-02-06 13:56:47.601175698 +0000
@@ -354,8 +354,14 @@
void run_sam(cli_args const& args) {
backend_device backend = backend_init(args);
+
auto [file, weights] = load_model_weights(
+#ifdef MODEL_PATH
+ args, backend, MODEL_PATH "/MobileSAM-F16.gguf", 0, backend.preferred_layout());
+#else
args, backend, "models/MobileSAM-F16.gguf", 0, backend.preferred_layout());
+#endif
+
sam_params params{};
require_inputs(args.inputs, 1, "<image>");
@@ -408,8 +414,14 @@
void run_birefnet(cli_args const& args) {
backend_device backend = backend_init(args);
+
+#ifdef MODEL_PATH
auto [file, weights] = load_model_weights(
- args, backend, "models/BiRefNet-F16.gguf", 0, backend.preferred_layout());
+ args, backend, MODEL_PATH "/BiRefNet-lite-F16.gguf", 0, backend.preferred_layout());
+#else
+ auto [file, weights] = load_model_weights(
+ args, backend, "models/BiRefNet-lite-F16.gguf", 0, backend.preferred_layout());
+#endif
require_inputs(args.inputs, 1, "<image>");
image_data image = image_load(args.inputs[0]);
@@ -452,8 +464,14 @@
void run_depth_anything(cli_args const& args) {
backend_device backend = backend_init(args);
+
+#ifdef MODEL_PATH
+ auto [file, weights] = load_model_weights(
+ args, backend, MODEL_PATH "/DepthAnythingV2-Small-F32.gguf", 0, backend.preferred_layout());
+#else
auto [file, weights] = load_model_weights(
args, backend, "models/DepthAnythingV2-Small-F32.gguf", 0, backend.preferred_layout());
+#endif
require_inputs(args.inputs, 1, "<image>");
image_data image = image_load(args.inputs[0]);
@@ -488,8 +506,15 @@
void run_migan(cli_args const& args) {
backend_device backend = backend_init(args);
+
+#ifdef MODEL_PATH
+ auto [file, weights] = load_model_weights(
+ args, backend, MODEL_PATH "/MIGAN-512-places2-F16.gguf", backend.preferred_layout());
+#else
auto [file, weights] = load_model_weights(
args, backend, "models/MIGAN-512-places2-F16.gguf", backend.preferred_layout());
+#endif
+
migan_params params = migan_detect_params(file);
params.invert_mask = true; // -> inpaint opaque areas
@@ -526,8 +551,15 @@
void run_esrgan(cli_args const& args) {
backend_device backend = backend_init(args);
+
+#ifdef MODEL_PATH
+ auto [file, weights] = load_model_weights(
+ args, backend, MODEL_PATH "/RealESRGAN-x4.gguf", 0, backend.preferred_layout());
+#else
auto [file, weights] = load_model_weights(
args, backend, "models/RealESRGAN-x4.gguf", 0, backend.preferred_layout());
+#endif
+
esrgan_params params = esrgan_detect_params(file);
printf("- scale: %dx\n", params.scale);
printf("- block count: %d\n", params.n_blocks);
src/cli/CMakeLists.txt
--- a/src/cli/CMakeLists.txt 2026-02-05 23:47:15.000000000 +0000
+++ b/src/cli/CMakeLists.txt 2026-02-06 13:16:26.118842969 +0000
@@ -4,4 +4,5 @@
target_compile_definitions(vision-cli PRIVATE ${VISP_ASSERT} ${VISP_DEFINITIONS})
target_compile_options(vision-cli PRIVATE ${VISP_WARNINGS} ${VISP_COMP_OPTIONS})
target_link_options(vision-cli PRIVATE ${VISP_LINK_OPTIONS})
-target_link_libraries(vision-cli PRIVATE ggml visioncpp ${VISP_FMT_LINK})
\ No newline at end of file
+target_link_libraries(vision-cli PRIVATE ggml visioncpp ${VISP_FMT_LINK})
+target_compile_definitions(vision-cli PRIVATE "MODEL_PATH=\"${MODEL_PATH}\"")Note Also changed "BiRefNet-F16.gguf" to "BiRefNet-lite-F16.gguf"
If it would be possible to integrate this, or something similar it would be much appreciated.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels