summaryrefslogtreecommitdiff
path: root/tools/cnn_test.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-14 00:00:26 +0100
committerskal <pascal.massimino@gmail.com>2026-02-14 00:00:26 +0100
commit71ff356ef03b5d07bcd7a36b79cf95df1206717b (patch)
tree7a4adf5972e850dc8b300355923c0ae2a59686d0 /tools/cnn_test.cc
parent0570941761936d74b573801c45385f4baaa6399c (diff)
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
Diffstat (limited to 'tools/cnn_test.cc')
-rw-r--r--tools/cnn_test.cc12
1 files changed, 9 insertions, 3 deletions
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");
}