validation doc update

This commit is contained in:
Victor Hall 2023-02-08 16:05:19 -05:00
parent 1665f07e61
commit 2353c4c16a
2 changed files with 15 additions and 3 deletions

View File

@ -6,6 +6,18 @@ When training a specific class, setting aside a portion of the data for validati
## How to use validation
The `validation_config` option in a pointer to a JSON config file with settings for use in validation. There is a default validation file `validation_default.json` in the repo root.
The `validation_config` option is a pointer to a JSON config file with settings for use in validation. There is a default validation file `validation_default.json` in the repo root, but it is not used unless you specify it.
You can copy this file to a new file and edit it to your liking, then point to it with the `validation_config` option.
CLI use:
--validation_config validation_default.json
or in a config file:
"validation_config": "validation_default.json"
## Logging and intepreting validation
Validation adds `loss/val` to your tensorboard logs. This is the loss of the validation data. Since this is separated from your training data, when it starts to trend upward you know you are overfitting.
Additional notes are available here: https://github.com/victorchall/EveryDream2trainer/pull/36

View File

@ -1031,7 +1031,7 @@ if __name__ == "__main__":
argparser.add_argument("--shuffle_tags", action="store_true", default=False, help="randomly shuffles CSV tags in captions, for booru datasets")
argparser.add_argument("--useadam8bit", action="store_true", default=False, help="Use AdamW 8-Bit optimizer, recommended!")
argparser.add_argument("--wandb", action="store_true", default=False, help="enable wandb logging instead of tensorboard, requires env var WANDB_API_KEY")
argparser.add_argument("--validation_config", default=None, help="Path to a JSON configuration file for the validator. Uses defaults if omitted.")
argparser.add_argument("--validation_config", default=None, help="Path to a JSON configuration file for the validator. Default is no validation.")
argparser.add_argument("--write_schedule", action="store_true", default=False, help="write schedule of images and their batches to file (def: False)")
argparser.add_argument("--rated_dataset", action="store_true", default=False, help="enable rated image set training, to less often train on lower rated images through the epochs")
argparser.add_argument("--rated_dataset_target_dropout_percent", type=int, default=50, help="how many images (in percent) should be included in the last epoch (Default 50)")