diff --git a/doc/LOGGING.md b/doc/LOGGING.md index 9c76e71..ae358a9 100644 --- a/doc/LOGGING.md +++ b/doc/LOGGING.md @@ -28,6 +28,8 @@ In place of `sample_prompts.txt` you can provide a `sample_prompts.json` file, w "scheduler": "dpm++", "num_inference_steps": 15, "show_progress_bars": true, + "generate_samples_every_n_steps": 200, + "generate_pretrain_samples": true, "samples": [ { "prompt": "ted bennet and a man sitting on a sofa with a kitchen in the background", @@ -46,7 +48,9 @@ In place of `sample_prompts.txt` you can provide a `sample_prompts.json` file, w } ``` -At the top you can set a `batch_size` (subject to VRAM limits), a default `seed` and `cfgs` to generate with, as well as a `scheduler` and `num_inference_steps` to control the quality of the samples. Available schedulers are `ddim` (the default) and `dpm++`. Finally, you can set `show_progress_bars` to `true` if you want to see progress bars during the sample generation process. +At the top you can set a `batch_size` (subject to VRAM limits), a default `seed` and `cfgs` to generate with, as well as a `scheduler` and `num_inference_steps` to control the quality of the samples. Available schedulers are `ddim` (the default) and `dpm++`. If you want to see sample progress bars you can set `show_progress_bars` to `true`. To generate a batch of samples before training begins, set `generate_pretrain_samples` to true. + +Finally, you can override the `sample_steps` set in the main configuration .json file (or CLI) by setting `generate_samples_every_n_steps`. This value is read every time samples are updated, so if you initially pass `--sample_steps 200` and then later on you edit your `sample_prompts.json` file to add `"generate_samples_every_n_steps": 100`, after the next set of samples is generated you will start seeing new sets of image samples every 100 steps instead of only every 200 steps. Individual samples are defined under the `samples` key. Each sample can have a `prompt`, a `negative_prompt`, a `seed` (use `-1` to pick a different random seed each time), and a `size` (must be multiples of 64) or `aspect_ratio` (eg 1.77778 for 16:9). Use `"random_caption": true` to pick a random caption from the training set each time. diff --git a/utils/sample_generator.py b/utils/sample_generator.py index d4da54e..01d8f00 100644 --- a/utils/sample_generator.py +++ b/utils/sample_generator.py @@ -158,7 +158,7 @@ class SampleGenerator: self.num_inference_steps = config.get('num_inference_steps', self.num_inference_steps) self.show_progress_bars = config.get('show_progress_bars', self.show_progress_bars) self.generate_pretrain_samples = config.get('generate_pretrain_samples', self.generate_pretrain_samples) - self.sample_steps = config.get('sample_steps', self.sample_steps) + self.sample_steps = config.get('generate_samples_every_n_steps', self.sample_steps) sample_requests_config = config.get('samples', None) if sample_requests_config is None: self.sample_requests = self._make_random_caption_sample_requests()