Commit Graph

355 Commits

Author SHA1 Message Date
hysts 5e84353eba
Refactor progress bar (#242)
* Refactor progress bar of pipeline __call__

* Make any tqdm configs available

* remove init

* add some tests

* remove file

* finish

* make style

* improve progress bar test

Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
2022-08-30 12:30:06 +02:00
Patrick von Platen 9e1b1ca49d
[Tests] Make sure tests are on GPU (#269)
* [Tests] Make sure tests are on GPU

* move more models

* speed up tests
2022-08-29 15:58:11 +02:00
Kashif Rasul 47893164ab
added test workflow and fixed failing test (#237)
* added test workflow and fixed failing test

* 4 decimal places
2022-08-24 13:46:53 +02:00
Kashif Rasul 102cabeb23
split tests_modeling_utils (#223)
* split tests_modeling_utils

* Fix SD tests .to(device)

* fix merge

* Fix style

Co-authored-by: anton-l <anton@huggingface.co>
2022-08-24 13:27:16 +02:00
anton-l 577a6a65d6 Fix SD tests .to(device) 2022-08-22 10:22:28 +02:00
Nathan Lambert 3f1861ee46
hotfix for pdnm test (#220) 2022-08-22 07:23:59 +02:00
Anton Lozhkov e30e1b89d0
Support one-string prompts and custom image size in LDM (#212)
* Support one-string prompts in LDM

* Add other features from SD too
2022-08-18 17:55:15 +02:00
Anton Lozhkov ed22b4fd07
Revive `make quality` (#203)
* Revive Make utils

* Add datasets for training too
2022-08-17 15:22:04 +02:00
Suraj Patil 3cd20d59d7
fix test_from_pretrained_hub_pass_model (#194)
init pipeline once
2022-08-17 13:58:18 +05:30
Pedro Cuenca 513f1fbfb0
Allow passing non-default modules to pipeline (#188)
* Allow passing non-default modules to pipeline.

Override modules are recognized and replaced in the pipeline. However,
no check is performed about mismatched classes yet. This is because the
override module is already instantiated and we have no library or class
name to compare against.

* up

* add test

Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
2022-08-16 17:25:25 +02:00
Anton Lozhkov d7b692083c
Add K-LMS scheduler from k-diffusion (#185)
* test LMS with LDM

* test LMS with LDM

* Interchangeable sigma and timestep. Added dummy objects

* Debug

* cuda generator

* Fix derivatives

* Update tests

* Rename Lms->LMS
2022-08-16 16:48:35 +02:00
Patrick von Platen 9070c394aa
[Naming] correct config naming of DDIM pipeline (#187) 2022-08-16 15:50:36 +02:00
Patrick von Platen 194ed794d8
[PNDM] Stable diffusion (#186)
* [PNDM] Stable diffusino

* finish
2022-08-16 15:33:13 +02:00
Patrick von Platen 051b34635f
[Half precision] Make sure half-precision is correct (#182)
* [Half precision] Make sure half-precision is correct

* Update src/diffusers/models/unet_2d.py

* Update src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py

* correct some tests

* Apply suggestions from code review

Co-authored-by: Suraj Patil <surajp815@gmail.com>

* finalize

* finish

Co-authored-by: Suraj Patil <surajp815@gmail.com>
2022-08-16 10:42:24 +02:00
Suraj Patil c25d8c905c
add tests for stable diffusion pipeline (#178)
add tests for sd pipeline
2022-08-14 18:51:02 +05:30
Suraj Patil 5782e0393d
Stable diffusion pipeline (#168)
* add stable diffusion pipeline

* get rid of multiple if/else

* batch_size is unused

* add type hints

* Update src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py

* fix some bugs

Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
2022-08-14 14:43:14 +02:00
Anton Lozhkov dd10da76a7
Add an alternative Karras et al. stochastic scheduler for VE models (#160)
* karras + VE, not flexible yet

* Fix inputs incompatibility with the original unet

* Roll back sigma scaling

* Apply suggestions from code review

* Old comment

* Fix doc
2022-08-09 15:58:30 +02:00
Suraj Patil a2090375ca
[VAE] fix the downsample block in Encoder. (#156)
* pass downsample_padding in encoder

* update tests
2022-08-06 17:36:07 +05:30
Patrick von Platen 3100bc9670
[Vae and AutoencoderKL] Final clean of LDM checkpoints (#137)
* [Vae and AutoencoderKL clean]

* save intermediate finished work

* more progress

* more progress

* finish modeling code

* save intermediate

* finish

* Correct tests
2022-07-28 10:14:34 +02:00
Anton Lozhkov e05f03ae41
Disable test_ddpm_ddim_equality_batched until resolved (#142)
disable test_ddpm_ddim_equality_batched
2022-07-28 09:29:29 +02:00
Anton Lozhkov 6c15636b0b
Add training and batched inference test for DDPM vs DDIM (#140)
* Add torch_device to the VE pipeline

* Mark the training test with slow
2022-07-27 15:01:56 +02:00
Patrick von Platen 5311f564ed
Final fixes (#118)
final fixes before release
2022-07-21 14:36:43 +02:00
Patrick von Platen 394243ce98 finish pndm sampler 2022-07-21 01:50:12 +00:00
Nathan Lambert fe98574622
fixing tests for numpy and make deterministic (ddpm) (#106)
* work in progress, fixing tests for numpy and make deterministic

* make tests pass via pytorch

* make pytorch == numpy test cleaner

* change default tensor format pndm --> pt
2022-07-21 02:24:59 +02:00
Patrick von Platen c5c9399610 correct paths for tests 2022-07-21 00:20:10 +00:00
Patrick von Platen 836f3f35c2
Rename pipelines (#115)
up
2022-07-21 01:39:46 +02:00
Patrick von Platen 9c3820d05a
Big Model Renaming (#109)
* up

* change model name

* renaming

* more changes

* up

* up

* up

* save checkpoint

* finish api / naming

* finish config renaming

* rename all weights

* finish really
2022-07-21 01:30:45 +02:00
Nathan Lambert 889aa6008c
PNDM API Updates, Tests Cleaning (#103)
* organize PNDM tests, begin API change

* clean timestep API PNDM

* update pipeline PNDM

* fix typo

* API clean round 2

* small nit
2022-07-20 12:47:39 -07:00
anton-l 6b275fca49 make PIL the default output type 2022-07-20 18:28:22 +02:00
Anton Lozhkov 1b42732ced
PIL-ify the pipeline outputs (#111) 2022-07-20 18:09:51 +02:00
anton-l 9e9d2dbc59 Fix np.abs 2022-07-20 17:38:03 +02:00
Anton Lozhkov 8b4371f70f
Refactor pipeline outputs, return LDM guidance_scale (#110) 2022-07-20 17:28:06 +02:00
Sylvain Gugger ad9d252596
Add a decorator for register_to_config (#108)
* Add a decorator for register_to_config

* All models and test
2022-07-20 15:42:50 +02:00
Patrick von Platen 3a32b8c916 align API 2022-07-19 16:54:10 +00:00
Patrick von Platen 8c31925b3b
Get diffusers ready 🚀🚀🚀 (#101)
* big purge

* more fixes

* finish for now
2022-07-19 18:02:12 +02:00
Patrick von Platen 37fe8e00b2 upload 2022-07-19 15:05:40 +00:00
Nathan Lambert 182b164f32
Fix VE SDE tests, clean API (#95)
* clean ddpm api to match ddim

* correct ve sde class

* update pipeline API for ve sde

* make style

* Apply suggestions from code review

Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
2022-07-19 12:12:45 +02:00
Patrick von Platen 8b42c7cecc make all tests pass 2022-07-19 00:24:10 +00:00
Patrick von Platen 66d5a1804c small fixes 2022-07-19 00:08:41 +00:00
Patrick von Platen d5acb4110a
Finalize ldm (#96)
* upload

* make checkpoint work

* finalize
2022-07-19 02:02:23 +02:00
Lysandre Debut 6cabc599a2
DDPM Conversion (#94)
* DDPM

* Fixes

* Edit tests
2022-07-19 01:59:58 +02:00
Patrick von Platen f82ebb9a03 fix some model tests 2022-07-18 01:29:40 +00:00
Nathan Lambert 63c68d979a
VE/VP SDE updates (#90)
* improve comments for sde_ve scheduler, init tests

* more comments, tweaking pipelines

* timesteps --> num_training_timesteps, some comments

* merge cpu test, add m1 data

* fix scheduler tests with num_train_timesteps

* make np compatible, add tests for sde ve

* minor default variable fixes

* make style and fix-copies

Co-authored-by: Patrick von Platen <patrick.v.platen@gmail.com>
2022-07-18 03:08:08 +02:00
Patrick von Platen ba3c9a9a3a
[SDE] Merge to unconditional model (#89)
* up

* more

* uP

* make dummy test pass

* save intermediate

* p

* p

* finish

* finish

* finish
2022-07-18 02:52:37 +02:00
Patrick von Platen b5c684f042 fix flaky cpu test 2022-07-15 19:49:05 +00:00
Patrick von Platen da8e87e201 use real checkpoint 2022-07-15 19:13:39 +00:00
Patrick von Platen 43bbc78123 adapt test 2022-07-15 18:37:15 +00:00
Patrick von Platen 9d2fc6b535 some fixes 2022-07-15 17:22:28 +00:00
Patrick von Platen f448360bd0
Finish scheduler API (#91)
* finish

* up
2022-07-15 15:04:01 +02:00
Patrick von Platen 97e1e3ba76 finalize model API 2022-07-15 10:48:30 +00:00
Patrick von Platen 6d5ef87e6b
[DDPM] Make DDPM work (#88)
* up

* finish

* uP
2022-07-14 19:46:04 +02:00
Patrick von Platen e7fe901e5e
save intermediate (#87)
* save intermediate

* up

* up
2022-07-14 12:29:06 +02:00
Patrick von Platen 2a69c0b7b8 The big purge -> remove everything except vision for now 2022-07-13 11:42:40 +00:00
Patrick von Platen c8c0c0e846 quick fix 2022-07-13 10:28:46 +00:00
Patrick von Platen 5e12d5c691
Clean uncond unet more (#85)
* up

* finished clean up

* remove @
2022-07-13 12:21:11 +02:00
Patrick von Platen 8aed37c1bd some more refactor 2022-07-12 19:35:47 +00:00
Patrick von Platen 06c79730d0
Add unconditional image generation (#79)
* uP

* finish downsampling layers

* finish major refactor

* remove bugus file
2022-07-12 18:34:41 +02:00
Anton Lozhkov d9316bf8bc
Fix mutable proj_out weight in the Attention layer (#73)
* Catch unused params in DDP

* Fix proj_out, add test
2022-07-04 12:36:37 +02:00
Suraj Patil 4e2674934f
add tests for 1D Up/Downsample blocks (#72) 2022-07-04 11:41:04 +02:00
Patrick von Platen 321f9791d6
Downsample / Upsample - clean to 1D and 2D (#68)
* make unet rl work

* uploaad files / code

* upload files

* make style correct

* finish
2022-07-03 22:26:33 +02:00
patil-suraj f26d3011c7 fix ldm uncond pipeline 2022-07-01 17:19:26 +02:00
Patrick von Platen db7ec72dd8 up 2022-06-30 22:29:18 +00:00
Patrick von Platen efe1e60e12 merge glide into resnets 2022-06-30 22:24:22 +00:00
Patrick von Platen db934c6750 fix more tests 2022-06-30 21:47:40 +00:00
Patrick von Platen c1c4dea98d correct tests ncsnpp 2022-06-30 15:54:00 +00:00
Patrick von Platen 3dbd6a8f4d up 2022-06-30 14:54:31 +00:00
patil-suraj 859ffea2b1 add test for ldm uncond 2022-06-29 15:25:51 +02:00
patil-suraj 333a8da678 add tests for AutoencoderKL 2022-06-29 13:52:04 +02:00
patil-suraj bae04ea9d8 add test for VQModel 2022-06-29 12:34:24 +02:00
Patrick von Platen 31d1f3c8c0 final fix 2022-06-28 22:59:21 +00:00
Patrick von Platen 79db3eb6ca fix tests 2022-06-28 17:36:56 +00:00
Patrick von Platen c45fd7498c merge unet attention into glide attention 2022-06-28 17:31:44 +00:00
Patrick von Platen bdecc3cffd move pipelines into folders 2022-06-28 10:47:47 +00:00
Patrick von Platen a859b1992b fix rl model tests 2022-06-28 09:50:21 +00:00
Nathan Lambert 3a5c87055c
add RL test, remove conds from RL model input 2022-06-27 14:48:15 -04:00
Patrick von Platen a2b72faff7 Merge branch 'main' of https://github.com/huggingface/diffusers into main 2022-06-27 17:20:20 +00:00
Patrick von Platen c9504bba10 add tests for sde ve vp models 2022-06-27 17:20:15 +00:00
patil-suraj 26ea58d4e1 Merge branch 'main' of https://github.com/huggingface/diffusers into main 2022-06-27 18:04:49 +02:00
patil-suraj 7b9b946cb2 add tests for downsample block 2022-06-27 18:03:51 +02:00
Patrick von Platen 4261c3aadf Make style 2022-06-27 15:59:04 +00:00
Patrick von Platen 932ce05d97 cancel einops 2022-06-27 15:39:41 +00:00
patil-suraj abcb25978a Merge branch 'main' of https://github.com/huggingface/diffusers into main 2022-06-27 16:25:52 +02:00
patil-suraj 183056f243 consolidate Upsample 2022-06-27 16:25:47 +02:00
patil-suraj dc7c49e4e4 add tests for upsample blocks 2022-06-27 15:50:54 +02:00
Patrick von Platen 3986741b8b add another ldm fast test 2022-06-27 13:25:26 +00:00
Patrick von Platen 6846ee2ac4 finalize position embeddings 2022-06-27 11:43:08 +00:00
Patrick von Platen c7a39d38ad refactor all sinus embeddings 2022-06-27 11:37:37 +00:00
Patrick von Platen 02a76c2c81 consolidate timestep embeds 2022-06-27 10:14:54 +00:00
patil-suraj 9b9afc9726 actually fix test_ldm_text2img_fast 2022-06-27 11:46:50 +02:00
patil-suraj b7f0ce5b39 fix test_ldm_text2img_fast 2022-06-27 11:44:05 +02:00
patil-suraj 6921393ae2 add fast test for ldm 2022-06-27 11:42:52 +02:00
patil-suraj 17bf65e186 skip test_ldm_text2img for now 2022-06-27 11:39:19 +02:00
Patrick von Platen 1a0331a78a fix some tests on gpu 2022-06-27 09:07:57 +00:00
Patrick von Platen 45a09bebf3 add first files 2022-06-27 10:46:39 +02:00
Patrick von Platen ba264419f4 finish vp 2022-06-27 00:07:57 +00:00
Patrick von Platen dc6d028654 add vp sampler 2022-06-26 23:41:55 +00:00
Patrick von Platen 433cb3f801 clean up sde ve more 2022-06-25 18:25:43 +00:00
Patrick von Platen f941fc9917 refactor tts sampler a bit 2022-06-22 23:15:57 +02:00
Patrick von Platen 0244e2af4c correct diffusion test 2022-06-22 18:41:14 +02:00
Patrick von Platen 48269070d2 more fixes 2022-06-22 13:40:08 +00:00
Patrick von Platen d0032c6095 refactor naming 2022-06-22 12:38:36 +00:00
patil-suraj e3bf932404 don't hardcode device in tests 2022-06-21 12:02:21 +02:00
patil-suraj ac00dad756 add GLIDETextToImageUNetModelTests 2022-06-21 12:01:07 +02:00
anton-l 9c82c32ba7 make style 2022-06-21 10:43:40 +02:00
patil-suraj 80898b5234 add UNetGradTTSModelTests 2022-06-20 15:57:58 +02:00
patil-suraj e5675fad5d remove prints from tests 2022-06-20 14:47:13 +02:00
patil-suraj 95a45f5b3a add UNetLDMModelTests 2022-06-20 14:45:58 +02:00
patil-suraj 646e16fe06 fix test_output_pretrained for GLIDESuperResUNetModel 2022-06-20 14:27:37 +02:00
Patrick von Platen 08c852290a add license disclaimers to schedulers 2022-06-20 13:06:31 +02:00
patil-suraj e007c797b1 add GLIDESuperResUNetModel 2022-06-17 19:04:07 +02:00
patil-suraj 12da0fe10d Merge branch 'main' into model-tests 2022-06-17 16:37:45 +02:00
patil-suraj cf6cd39572 finish tests for UNet 2022-06-17 16:36:51 +02:00
Patrick von Platen 1997b90838 image->sample in schedule tests 2022-06-17 15:51:33 +02:00
Patrick von Platen b2274ece73 finish pndm scheduler 2022-06-17 15:51:03 +02:00
patil-suraj 7dc71897b3 add UnetModelTests 2022-06-17 13:49:26 +02:00
patil-suraj d76bc43720 add skeleton for model tests 2022-06-17 13:36:59 +02:00
Patrick von Platen 8c1f51978c make clip name shorter 2022-06-17 12:11:40 +02:00
Patrick von Platen 13a78b3cd3 rename image to sample 2022-06-17 12:09:13 +02:00
Patrick von Platen fe7d136324 correct dict 2022-06-17 11:55:02 +02:00
Patrick von Platen 5e6f500038 rename register to register_to_config 2022-06-17 10:58:43 +02:00
Patrick von Platen 17c574a16d remove torchvision dependency 2022-06-15 12:35:47 +02:00
anton-l cfe6eb1611 Training example parameterization 2022-06-15 11:21:02 +02:00
patil-suraj 542c78686f Merge branch 'main' of https://github.com/huggingface/diffusers into main 2022-06-14 12:51:40 +02:00
patil-suraj 147d8e0702 add test for loading model from pipeline module 2022-06-14 12:50:40 +02:00
anton-l 57243fd565 GLIDE integration test 2022-06-14 12:37:28 +02:00
anton-l bb30664285 Move the training example 2022-06-14 11:33:24 +02:00
Patrick von Platen 809591b7b6 improve pndm 2022-06-13 16:29:22 +00:00
Patrick von Platen 27266abc9f rename schedulers 2022-06-13 10:39:53 +02:00
Patrick von Platen 12b10cbe09 finish refactor 2022-06-12 21:20:39 +00:00
Patrick von Platen 2d97544dc7 add more tests schedulers 2022-06-12 19:56:13 +00:00
Patrick von Platen e83ff11f57 make tests pass 2022-06-12 17:59:39 +00:00
Patrick von Platen a020285e8e update 2022-06-12 19:12:01 +02:00
Patrick von Platen e01bcbb765 rename to step 2022-06-12 19:07:56 +02:00
patil-suraj 96306533cb add test for ldm 2022-06-10 18:37:45 +02:00
Patrick von Platen 9d32a26579 save intermediate 2022-06-10 13:12:23 +02:00
Patrick von Platen cbb19ee84e fix setup 2022-06-09 14:06:58 +02:00
Patrick von Platen 2234877e01 fix tests 2022-06-09 11:02:32 +00:00
Patrick von Platen b02d0d6be3 merge 2022-06-09 12:39:31 +02:00
Patrick von Platen 49257b4abf finish transformers removal 2022-06-09 12:36:37 +02:00
Patrick von Platen 7a1323b62f add first version of ddim 2022-06-08 09:42:31 +00:00
Patrick von Platen 3e801673d6 remove ipdb 2022-06-07 17:00:21 +00:00
Patrick von Platen f8a9bb6f63 merge 2022-06-07 16:59:48 +00:00
Patrick von Platen 6f88cc92e9 adapt final unpreciseness 2022-06-07 16:59:12 +00:00
Patrick von Platen 89af440e32 check with other device 2022-06-07 18:55:10 +02:00
Patrick von Platen b76eea0412 check with other device 2022-06-07 18:53:10 +02:00
Patrick von Platen 5da71f8fa3 fix generator 2 2022-06-07 16:22:12 +00:00
Patrick von Platen 46d20d2d76 fix random seed 2022-06-07 18:20:14 +02:00
patil-suraj f39020bd8a clip => clipped 2022-06-07 16:34:44 +02:00
patil-suraj 733546210e fix tests 2022-06-07 15:43:08 +02:00
patil-suraj d8287fcd1d fix issues with loading, add test for pipeline 2022-06-07 15:40:36 +02:00
Patrick von Platen ef4365c6ef up 2022-06-07 13:03:53 +00:00
Patrick von Platen fe3137304b improve 2022-06-06 17:03:41 +02:00
Patrick von Platen 8cb5e69415 add pretrained model and pretrained sampler 2022-06-02 00:25:48 +02:00
Patrick von Platen 18ef809c4d add another test 2022-05-31 14:46:20 +02:00
Patrick von Platen e779b250e1 add first template for DDPM forward 2022-05-31 14:27:59 +02:00