From 71ff356ef03b5d07bcd7a36b79cf95df1206717b Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 14 Feb 2026 00:00:26 +0100 Subject: cnn_test: --weights now overrides layer config from .bin file When using --weights option: - Layer count and kernel sizes loaded from binary header - Warnings shown if --layers or --cnn-version specified - Help text clarifies precedence order - Binary weights always take precedence over CLI args Updated documentation: - doc/CNN_TEST_TOOL.md: Usage examples with --weights - doc/HOWTO.md: Runtime weight loading example handoff(Claude): cnn_test --weights config override --- tools/cnn_test.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'tools/cnn_test.cc') diff --git a/tools/cnn_test.cc b/tools/cnn_test.cc index 826d9ea..4599512 100644 --- a/tools/cnn_test.cc +++ b/tools/cnn_test.cc @@ -111,6 +111,12 @@ static bool parse_args(int argc, char** argv, Args* args) { args->cnn_version); } args->cnn_version = 2; + + // Warn if --layers was specified (binary file config takes precedence) + if (args->num_layers != 3) { // 3 is the default + fprintf(stderr, "WARNING: --layers %d ignored (--weights loads layer config from .bin)\n", + args->num_layers); + } } return true; @@ -122,11 +128,11 @@ static void print_usage(const char* prog) { fprintf(stderr, "\nOPTIONS:\n"); fprintf(stderr, " --blend F Final blend amount (0.0-1.0, default: 1.0)\n"); fprintf(stderr, " --format ppm|png Output format (default: png)\n"); - fprintf(stderr, " --layers N Number of CNN layers (1-10, default: 3)\n"); + fprintf(stderr, " --layers N Number of CNN layers (1-10, default: 3, ignored with --weights)\n"); fprintf(stderr, " --save-intermediates DIR Save intermediate layers to directory\n"); fprintf(stderr, " --debug-hex Print first 8 pixels as hex (debug)\n"); - fprintf(stderr, " --cnn-version N CNN version: 1 (default) or 2\n"); - fprintf(stderr, " --weights PATH Load weights from .bin file (forces CNN v2)\n"); + fprintf(stderr, " --cnn-version N CNN version: 1 (default) or 2 (ignored with --weights)\n"); + fprintf(stderr, " --weights PATH Load weights from .bin (forces CNN v2, overrides layer config)\n"); fprintf(stderr, " --help Show this help\n"); } -- cgit v1.2.3