diff options
author | jvech <jmvalenciae@unal.edu.co> | 2023-10-21 21:43:36 -0500 |
---|---|---|
committer | jvech <jmvalenciae@unal.edu.co> | 2023-10-21 21:43:36 -0500 |
commit | 17b2cf8dc274f950865911185fc4c6a9ccf915d5 (patch) | |
tree | 81f11089540264ebdf187ba028a58ed7f57a34c3 /src | |
parent | 8abcac7b3b42609f349b8a9cb132bae9746ba576 (diff) |
setup: man page improved
Documentation:
Example sections was improved
Files sections was added
Fixes:
default config filepath was fixed
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 12 | ||||
-rw-r--r-- | src/util.c | 13 |
2 files changed, 17 insertions, 8 deletions
@@ -194,6 +194,7 @@ struct Cost load_loss(struct Configs cfg) } int main(int argc, char *argv[]) { + char default_config_path[512]; struct Configs ml_configs = { .epochs = 100, .alpha = 1e-5, @@ -202,11 +203,18 @@ int main(int argc, char *argv[]) { .out_filepath = NULL, }; - // Try different config paths - load_config(&ml_configs, 3, "~/.config/ml/ml.cfg", "~/.ml/ml.cfg", ml_configs.config_filepath); + // First past to check if --config option was put + util_load_cli(&ml_configs, argc, argv); + optind = 1; + // Load configs with different possible paths + sprintf(default_config_path, "%s/%s", getenv("HOME"), ".config/ml/ml.cfg"); + load_config(&ml_configs, 2, ml_configs.config_filepath, default_config_path); + + // re-read cli options again, to overwrite file configuration options util_load_cli(&ml_configs, argc, argv); argc -= optind; argv += optind; + Layer *network = load_network(ml_configs); Array X, y; @@ -83,7 +83,7 @@ void version() "the Free Software Foundation, either version 3 of the License, or\n" "(at your option) any later version.\n\n" ); - printf("Written by vech\n"); + printf("Written by jvech\n"); exit(0); } @@ -93,17 +93,14 @@ void usage(int exit_code) fprintf(fp, "Usage: ml train [Options] JSON_FILE\n" " or: ml predict [-o FILE] FILE\n" - "Train and predict json data\n" "\n" "Options:\n" " -h, --help Show this message\n" " -a, --alpha=ALPHA Learning rate (only works with train)\n" " -e, --epochs=EPOCHS Epochs to train the model (only works with train)\n" " -o, --output=FILE Output file (only works with predict)\n" + " -c, --config=FILE Configuration filepath [default=~/.config/ml/ml.cfg]\n" "\n" - "Examples:\n" - " $ ml train -e 150 -a 1e-4 housing.json\n" - " $ ml predict housing.json -o predictions.json\n" ); exit(exit_code); } @@ -117,12 +114,13 @@ void util_load_cli(struct Configs *ml, int argc, char *argv[]) {"epochs", required_argument, 0, 'e'}, {"alpha", required_argument, 0, 'a'}, {"output", required_argument, 0, 'o'}, + {"config", required_argument, 0, 'c'}, {0, 0, 0, 0 }, }; int c; while (1) { - c = getopt_long(argc, argv, "hve:a:o:i:l:", long_opts, NULL); + c = getopt_long(argc, argv, "hvc:e:a:o:i:l:", long_opts, NULL); if (c == -1) { break; @@ -137,6 +135,9 @@ void util_load_cli(struct Configs *ml, int argc, char *argv[]) case 'o': ml->out_filepath = optarg; break; + case 'c': + ml->config_filepath = optarg; + break; case 'h': usage(0); case 'v': |