Commit Graph

154 Commits

Author SHA1 Message Date
Victor Hall 630ac5e46a
Merge pull request #152 from qslug/yaml-tag-str
Always convert YAML tags to strings
2023-04-22 19:03:04 -04:00
Augusto de la Torre 2e8056174d Always convert YAML tags to strings 2023-04-23 00:36:32 +02:00
Victor Hall e3e30a5599 fix exif issues 2023-04-16 14:53:34 -04:00
Victor Hall 3697b16344 put exif transpose back in preloading to fix bug 2023-04-16 02:19:27 -04:00
tyler b8f637873f removing the convert_rgb flag for a simpler design 2023-04-14 20:21:48 -05:00
tyler a839180199 set # of data loaders by the min of batch size or cpu count, do not do an rg b conversion when only loading image metadata 2023-04-14 14:59:28 -05:00
Augusto de la Torre 2bb35eaa0a Use filenames for caption if no main prompt in yaml 2023-04-14 00:59:26 +02:00
Augusto de la Torre dd98ebe080 Add error handling for bad exif, and rotate before sizing 2023-03-28 19:19:08 +02:00
Victor Hall 56256ab9ef attempt to catch some errors reported on github 2023-03-26 11:52:49 -04:00
Victor Hall 35d52b56e0 added some resolutions, option for val-loss pos-neg, fix wandb 2023-03-25 20:09:06 -04:00
Augusto de la Torre cdafa2dc43 Avoid unnecessary iteration over files in folder 2023-03-21 12:09:52 +01:00
Augusto de la Torre 161e0a563c Prioritize tags, `image > local > global`, but respect weights 2023-03-21 00:15:53 +01:00
Augusto de la Torre fae0b3c535 Retain original tag order when parsing captions 2023-03-19 23:30:42 +01:00
Victor Hall 5afd75fd98 try-except around preloading items to help troubleshoot issues 2023-03-18 22:27:09 -04:00
Victor Hall f01a7354f0 remove sort from dataset due to slowdown on large sets, add contribution readme 2023-03-18 22:24:03 -04:00
Augusto de la Torre 48f132554c Assign default value for MAX_CAPTION_LENGTH 2023-03-15 21:52:32 +01:00
Victor Hall ba687de8b4 add pbar back to preloading, remove cruft from testing loss stuff 2023-03-15 12:06:29 -04:00
Victor Hall 605716a646 conf 2023-03-15 11:22:40 -04:00
Victor Hall da3c183cc5 autofix exif orientation 2023-03-15 11:12:59 -04:00
Victor Hall 493afc3f20
Merge pull request #106 from qslug/enhanced-config
Add support for enhanced dataset configuration
2023-03-14 01:28:54 -04:00
Augusto de la Torre 7e20a74586 Fix cond_dropout and rating handling 2023-03-13 00:36:59 +01:00
Augusto de la Torre dea8c6e862 Refactor dataset to support multiple main_prompts
...rather than multiple whole captions
2023-03-12 19:48:15 +01:00
Damian Stewart c913824979 fix every_n_epoch>1 logic and remove unnecessary log 2023-03-10 23:13:53 +01:00
Damian Stewart 47e90ad865 round rather than ceil 2023-03-09 20:47:37 +01:00
Damian Stewart 103ab20696 allow sub-epoch validation when every_n_epochs <1 2023-03-09 20:42:17 +01:00
Damian Stewart f0111a6e2b make validation more comparable across runs 2023-03-09 08:21:59 +01:00
Augusto de la Torre 0716c40ab6 Add support for enhanced dataset configuration
Add support for:
* flip_p.txt
* cond_dropout.txt
* local.yaml consolidated config (including default captions)
* global.yaml consolidated config which applies recursively to subfolders
* flip_p, and cond_dropout config per image
* manifest.json with full image-level configuration
2023-03-08 15:02:14 +01:00
Victor Hall 2e3d044ba3 Merge branch 'main' of https://github.com/victorchall/EveryDream2trainer 2023-03-04 15:09:31 -05:00
Victor Hall 87ffb5413e log warning when val/loss is showing upward trend 2023-03-04 15:08:47 -05:00
Damian Stewart e2fd45737d overwrite args.seed with the actual seed if -1 is passed (so it appears in tensorboard)
also improve logging when unet training is disabled
2023-03-02 22:52:33 +01:00
damian 61558be2ae logging and progress bar improvements 2023-03-02 18:29:28 +01:00
Victor Hall 8abef6bc74 revert multiline txt for now due to bug 2023-02-28 21:14:19 -05:00
Victor Hall 6c87af7711 doc, fix lr defaulting bug, notdreambooth.md, read multicaption from .txt by line 2023-02-26 19:11:42 -05:00
Victor Hall e7fc71ffa1
Merge pull request #92 from victorchall/lion
fix mem leak on huge data, rework optimizer to separate json, add lio…
2023-02-25 16:20:10 -05:00
Victor Hall a9b0189947 fix mem leak on huge data, rework optimizer to separate json, add lion optimizer 2023-02-25 15:05:22 -05:00
Damian Stewart be8cdf8af8 actually use validation seed 😭 also fix log of sample negative prompt 2023-02-20 21:58:46 +01:00
Damian Stewart 7956e24b61 fix division by zero 2023-02-19 10:25:38 +01:00
Victor Hall 8a8a4cf3df make val optional, revert multiply algo 2023-02-08 13:04:12 -05:00
Damian Stewart 19347bcaa8 make fractional multiplier logic apply per-directory 2023-02-08 14:15:54 +01:00
Damian Stewart a7b00e9ef3 fix multiplier logic 2023-02-08 13:46:58 +01:00
Damian Stewart 4e37200dda fix multiplier issues with validation and refactor validation logic 2023-02-08 11:28:45 +01:00
damian bca1e6e594 consistent spelling 2023-02-07 18:21:05 +01:00
damian e2d9600e34 cleaner config handling 2023-02-07 18:18:21 +01:00
damian dad9e347ff log ed batch name on creation 2023-02-07 18:08:19 +01:00
damian f0d7310c12 clarify init function names 2023-02-07 17:54:00 +01:00
damian c3d844a1bc better config handling 2023-02-07 17:52:23 +01:00
damian 29396ec21b update EveryDreamValidator for noprompt's changes 2023-02-07 17:46:30 +01:00
Joel Holdbrooks 41c9f36ed7 GH-36: Add support for validation split (WIP)
Co-authored-by: Damian Stewart <office@damianstewart.com>
2023-02-06 22:10:34 -08:00
Victor Hall 85f19b9a2f doc and bug with undersized 2023-02-06 13:11:24 -05:00
Joel Holdbrooks 56f130c027 Forgot to add train.py earlier 🤦; move write_batch_schedule to train.py 2023-01-29 18:11:34 -08:00
Joel Holdbrooks 12a0cb6286 Update documentation 2023-01-29 17:58:42 -08:00
Joel Holdbrooks 3fe335f328 Update documentation 2023-01-29 17:47:10 -08:00
Joel Holdbrooks c0ec46c030 Don't need to set data loader singleton; formatting tweaks 2023-01-29 17:31:57 -08:00
Joel Holdbrooks 326d861a86 Push DLMA into main, pass config to resolve
This patch

* passes the configuration (`argparse.Namespace`) to the resolver,
* pushes the DLMA code into the main function,
* makes DLMA take a `list[ImageTrainItem]` instead of `data_root`,
* makes `EveryDreamBatch` take `DLMA` instead of `data_root`, etc.
* allows `data_root` to be a list.

By doing these things, both `EveryDreamBatch` and DLMA can be free from
data resolution logic. It also reduces the number of arguments which
need to be passed down to EDB and DLMA.
2023-01-29 17:08:54 -08:00
Victor Hall 9639237762 minor fix to multiply.txt stuff and undersized images txt output new line 2023-01-27 13:58:14 -05:00
Joel Holdbrooks 94e9abf184 Don't bind resolver 2023-01-24 08:36:40 -08:00
Joel Holdbrooks a7505df0a6 Initialize target_wh to None 2023-01-24 08:33:40 -08:00
Joel Holdbrooks e6d1096637 Filter out items with errors 2023-01-24 08:33:20 -08:00
Jan Gerritsen 44fcbb6aa7 Bugfix: Adding same Tag twice to Caption 2023-01-24 16:02:12 +01:00
Victor Hall 2ba83cf0e4 remove unnecessary skip stuff 2023-01-23 20:47:12 -05:00
Joel Holdbrooks 7e2a7ae387 Need to yield from 2023-01-23 17:12:46 -08:00
Joel Holdbrooks c106de827c Fix name typo 2023-01-23 16:58:13 -08:00
Joel Holdbrooks 620b157e6a Fix some name errors 2023-01-23 16:57:02 -08:00
Joel Holdbrooks e99a948d3c Fix property name bug 2023-01-23 12:52:53 -08:00
Joel Holdbrooks 9491ae430c Initialize is_undersized to False, fix bug in directory resolver 2023-01-23 12:44:48 -08:00
Joel Holdbrooks d9081e8198 Use tqdm in JSONResolver, add a docstring 2023-01-23 12:11:42 -08:00
Joel Holdbrooks 1a0b7994f4 Move target_wh calculation to ImageTrainItem 2023-01-23 12:00:42 -08:00
Joel Holdbrooks 1dfda8d6d4 Remove unused OptionalCallable alias 2023-01-23 11:28:11 -08:00
Joel Holdbrooks 646f383188 If there are no tags just return the main prompt 2023-01-23 11:27:12 -08:00
Joel Holdbrooks c1a66317cd Forgot to set prepared_train_data 2023-01-23 11:16:34 -08:00
Joel Holdbrooks b6c7299baf Merge branch 'main' into refactor-data-resolution 2023-01-23 08:43:23 -08:00
Joel Holdbrooks 993eabf99a Add static methods on ImageCaption for deriving captions from various sources 2023-01-23 08:22:44 -08:00
Joel Holdbrooks 316df2db7e Use data_resolver.resolve for data loading in data_loader 2023-01-23 00:15:32 -08:00
Joel Holdbrooks 0cf2cd71de Fix mistake in ImageCaption.parse 2023-01-23 00:14:50 -08:00
Joel Holdbrooks 4e6c5f4d00 Get rid of on_event callback 2023-01-22 23:58:25 -08:00
Joel Holdbrooks 9c6df69e4e Use DirectoryResolver.unzip_all 2023-01-22 23:14:16 -08:00
Joel Holdbrooks 08813eabb5 Use DirectoryResolver.recurse_data_root 2023-01-22 23:13:05 -08:00
Joel Holdbrooks aa0a2a1765 Sync recurse_data_root changes with data loader 2023-01-22 23:09:09 -08:00
Joel Holdbrooks 914a51b057 Add data.resolver module for training data resolution 2023-01-22 22:46:04 -08:00
Joel Holdbrooks 85b6aad6a9 If tags are empty, returne __main_prompt 2023-01-22 22:44:44 -08:00
Joel Holdbrooks a6cabe8d7d Add static methods to ImageCaption for deriving captions from various sources 2023-01-22 16:13:50 -08:00
Victor Hall 18d1da0459 bug fix and multiplytxt fraction stuff 2023-01-22 18:59:59 -05:00
Victor Hall 24b00ab35b add fractional support for multiply.txt 2023-01-22 01:15:50 -05:00
Victor Hall 36ece59660 better undersized log file 2023-01-20 16:23:56 -05:00
Victor Hall 1c2708dc63 few sanity checks and remove keyboard 2023-01-20 09:42:24 -05:00
Jan Gerritsen 711e263e24 Implemented system to train on a subset of the dataset, favouring higher rated images 2023-01-14 16:18:22 +01:00
Jan Gerritsen fb73c16515 Make file name extension check case insensitive, so .JPG or .PNG files will also be detected 2023-01-10 11:54:26 +01:00
Jan Gerritsen f47ceadcc7 Implemented an optimization for the shuffling if all tags have the same weight and added documentation. 2023-01-09 21:53:46 +01:00
Jan Gerritsen 3d2709ace9 Implemented loading captions from yaml file 2023-01-09 21:53:07 +01:00
Jan Gerritsen a3618409bc Support more control regarding caption tag shuffeling using yaml files 2023-01-09 21:53:07 +01:00
Victor Hall 3c921dbaa2 chaining and more lowers resolutions 2023-01-08 18:52:39 -05:00
Victor Hall 98f9a7302d shuffle tags arg 2023-01-06 19:12:52 -05:00
Victor Hall 65c5fd5ccb json driven args, update run batch compensation 2023-01-03 14:27:26 -05:00
Victor Hall 07125135a8 safer writing of batch schedule 2023-01-02 18:02:35 -05:00
Victor Hall 726eecc958 add 1088 and 1152 and 448 resolution support 2023-01-01 21:13:31 -05:00
Victor Hall 05817b1c6b add 1088 and 1152 resolution but for real this time 2023-01-01 16:16:44 -05:00
Victor Hall 08ffdbbfe3 add 1088 and 1152 resolution 2023-01-01 16:16:07 -05:00
Victor Hall b316684bdb bunch of updates, grad ckpting, no drop bucket, shuffle every epoch 2023-01-01 10:45:18 -05:00
Victor Hall 051116a7d9 add gpu id support 2022-12-29 21:11:06 -05:00
Victor Hall 4c53f2d55c various tweaks and bugfixes over holidays 2022-12-27 14:25:32 -05:00