Package: cb-imaginAIry
ImaginAIry 🤖🧠AI imagined images. Pythonic generation of stable diffusion images."just works" on Linux and macOS(M1) (and maybe windows?).# on macOS, make sure rust is installed first>>pipinstallimaginairy
>>imagine"a scenic landscape""a photo of a dog""photo of a fruit bowl""portrait photo of a freckled woman""a bluejay"# Make an animation showing the generation process>>imagine--gif"a flower"Image Structure Controlby ControlNetGenerate images guided by body poses, depth maps, canny edges, hed boundaries, or normal maps.Openpose Controlimagine--control-imageassets/indiana.jpg--control-modeopenpose--caption-textopenpose"photo of a polar bear"Canny Edge Controlimagine--control-imageassets/lena.png--control-modecanny--caption-textcanny"photo of a woman with a hat looking at the camera"HED Boundary Controlimagine--control-imagedog.jpg--control-modehed"photo of a dalmation"Depth Map Controlimagine--control-imagefancy-living.jpg--control-modedepth"a modern living room"Normal Map Controlimagine--control-imagebird.jpg--control-modenormal"a bird"Instruction based image editsby InstructPix2PixJust tell imaginairy how to edit the image and it will do it for you!Click to see shell commandsUse prompt strength to control how strong the edit is. For extra control you can combine with prompt-based masking.# enter imaginairy shell>>aimg
🤖🧠>editscenic_landscape.jpg-p"make it winter"--prompt-strength20🤖🧠>editdog.jpg-p"make the dog red"--prompt-strength5🤖🧠>editbowl_of_fruit.jpg-p"replace the fruit with strawberries"🤖🧠>editfreckled_woman.jpg-p"make her a cyborg"--prompt-strength13🤖🧠>editbluebird.jpg-p"make the bird wear a cowboy hat"--prompt-strength10🤖🧠>editflower.jpg-p"make the flower out of paper origami"--arg-scheduleprompt-strength[1:11:0.3]--steps25--compilation-animgif# create a comparison gif🤖🧠>editpearl_girl.jpg-p"make her wear clown makeup"--compare-gif# create an animation showing the edit with increasing prompt strengths🤖🧠>editmona-lisa.jpg-p"make it a color professional photo headshot"--negative-prompt"old, ugly, blurry"--arg-schedule"prompt-strength[2:8:0.5]"--compilation-animgif
🤖🧠>editgg-bridge.jpg-p"make it night time"--prompt-strength15--steps30--arg-scheduleprompt-strength[1:15:1]--compilation-animgifQuick Image Edit DemoWant just quickly have some fun? Tryedit-demoto apply some pre-defined edits.>>aimgedit-demopearl_girl.jpgPrompt Based Maskingby clipsegSpecify advanced text based masks using boolean logic and strength modifiers.
Mask syntax:mask descriptions must be lowercasekeywords (AND,OR,NOT) must be uppercaseparentheses are supportedmask modifiers may be appended to any mask or group of masks.  Example:(dog OR cat){+5}means that we'll
select any dog or cat and then expand the size of the mask area by 5 pixels.  Valid mask modifiers:{+n}- expand mask by n pixels{-n}- shrink mask by n pixels{*n}- multiply mask strength. will expand mask to areas that weakly matched the mask description{/n}- divide mask strength. will reduce mask to areas that most strongly matched the mask description. probably not usefulWhen writing strength modifiers keep in mind that pixel values are between 0 and 1.>>imagine\--init-imagepearl_earring.jpg\--mask-prompt"face AND NOT (bandana OR hair OR blue fabric){*6}"\--mask-modekeep\--init-image-strength.2\--fix-faces\"a modern female president""a female robot""a female doctor""a female firefighter"➡️>>imagine\--init-imagefruit-bowl.jpg\--mask-prompt"fruit OR fruit stem{*6}"\--mask-modereplace\--mask-modify-original\--init-image-strength.1\"a bowl of kittens""a bowl of gold coins""a bowl of popcorn""a bowl of spaghetti"➡️Face Enhancementby CodeFormer>>imagine"a couple smiling"--steps40--seed1--fix-faces➡️Upscalingby RealESRGAN>>imagine"colorful smoke"--steps40--upscale➡️Tiled Images>>imagine"gold coins""a lush forest""piles of old books"leaves--tile360 degree imagesimagine--tile-x-w1024-h512"360 degree equirectangular panorama photograph of the desert"--upscaleImage-to-ImageUse depth maps for amazing "translations" of existing images.>>imagine--modelSD-2.0-depth--init-imagegirl_with_a_pearl_earring_large.jpg--init-image-strength0.05"professional headshot photo of a woman with a pearl earring"-r4-w1024-h1024--steps50➡️OutpaintingGiven a starting image, one can generate it's "surroundings".Example:imagine --init-image pearl-earring.jpg --init-image-strength 0 --outpaint all250,up0,down600 "woman standing"➡️Work with different generation modelsClick to see shell commandimagine"valley, fairytale treehouse village covered, , matte painting, highly detailed, dynamic lighting, cinematic, realism, realistic, photo real, sunset, detailed, high contrast, denoised, centered, michael whelan"--steps60--seed1--arg-schedulemodel[sd14,sd15,sd20,sd21,openjourney-v1,openjourney-v2]--arg-schedule"caption-text[sd14,sd15,sd20,sd21,openjourney-v1,openjourney-v2]"Prompt ExpansionYou can use{}to randomly pull values from lists.  A list of values separated by|and enclosed in{ }will be randomly drawn from in a non-repeating fashion. Values that are surrounded by_ _will
pull from a phrase list of the same name.   Folders containing .txt phraselist files may be specified via--prompt_library_path. The option may be specified multiple times.  Built-in categories:3d-term, adj-architecture, adj-beauty, adj-detailed, adj-emotion, adj-general, adj-horror, animal, art-movement, 
  art-site, artist, artist-botanical, artist-surreal, aspect-ratio, bird, body-of-water, body-pose, camera-brand,
  camera-model, color, cosmic-galaxy, cosmic-nebula, cosmic-star, cosmic-term, dinosaur, eyecolor, f-stop, 
  fantasy-creature, fantasy-setting, fish, flower, focal-length, food, fruit, games, gen-modifier, hair, hd,
  iso-stop, landscape-type, national-park, nationality, neg-weight, noun-beauty, noun-fantasy, noun-general, 
  noun-horror, occupation, photo-term, pop-culture, pop-location, punk-style, quantity, rpg-item, scenario-desc, 
  skin-color, spaceship, style, tree-species, trippy, world-heritage-siteExamples:imagine "a {lime|blue|silver|aqua} colored dog" -r 4 --seed 0(note that it generates a dog of each color without repetition)imagine "a {_color_} dog" -r 4 --seed 0will generate four, different colored dogs. The colors will be pulled from an included
phraselist of colors.imagine "a {_spaceship_|_fruit_|hot air balloon}. low-poly" -r 4 --seed 0will generate images of spaceships or fruits or a hot air balloonCredit tonoodle-soup-promptswhere most, but not all, of the wordlists originate.Generate image captions (viaBLIP)>>aimgdescribeassets/mask_examples/bowl001.jpg
abowlfullofgoldbarssittingonatableAdditional FeaturesGenerate images either in code or from command line.It just works. Proper requirements are installed. Model weights are automatically downloaded. No huggingface account needed.
(if you have the right hardware... and aren't on windows)Noisy logs are gone (which was surprisingly hard to accomplish)WeightedPrompts let you smash together separate prompts (cat-dog)Prompt metadata saved into image file metadataHave AI generate captions for imagesaimg describe <filename-or-url>Interactive prompt: just runaimgfinetune your own image model. kind of like dreambooth. Read instructions on"Concept Training"pageHow ToFor full command line instructions runaimg --helpfromimaginairyimportimagine,imagine_image_files,ImaginePrompt,WeightedPrompt,LazyLoadingImageurl="https://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/Thomas_Cole_-_Architect%E2%80%99s_Dream_-_Google_Art_Project.jpg/540px-Thomas_Cole_-_Architect%E2%80%99s_Dream_-_Google_Art_Project.jpg"prompts=[ImaginePrompt("a scenic landscape",seed=1,upscale=True),ImaginePrompt("a bowl of fruit"),ImaginePrompt([WeightedPrompt("cat",weight=1),WeightedPrompt("dog",weight=1),]),ImaginePrompt("a spacious building",init_image=LazyLoadingImage(url=url)),ImaginePrompt("a bowl of strawberries",init_image=LazyLoadingImage(filepath="mypath/to/bowl_of_fruit.jpg"),mask_prompt="fruit OR stem{*2}",# amplify the stem mask x2mask_mode="replace",mask_modify_original=True,),ImaginePrompt("strawberries",tile_mode=True),]forresultinimagine(prompts):# do somethingresult.save("my_image.jpg")# orimagine_image_files(prompts,outdir="./my-art")Requirements~10 gb space for models to downloadA CUDA supported graphics card with >= 11gb VRAM (and CUDA installed) or an M1 processor.Python installed. Preferably Python 3.10.  (not conda)For macOSrustand setuptools-rust must be installed to compile thetokenizerlibrary.
They can be installed via:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shandpip install setuptools-rustRunning in DockerSee example Dockerfile (works on machine where you can pass the gpu into the container)dockerbuild.-timaginairy# you really want to map the cache or you end up wasting a lot of time and space redownloading the model weightsdockerrun-it--gpusall-v$HOME/.cache/huggingface:/root/.cache/huggingface-v$HOME/.cache/torch:/root/.cache/torch-v`pwd`/outputs:/outputsimaginairy/bin/bashRunning on Google ColabExample ColabQ&AQ: How do I change the cache directory for where models are stored?A: Set theHUGGINGFACE_HUB_CACHEenvironment variable.ChangeLog10.2.0feature: input raw control images (a pose, canny map, depth map, etc) directly using--control-image-rawThis is opposed to current behavior of extracting the control signal from an input image via--control-imagefeature:aimg model-listcommand lists included modelsfeature: system memory added toaimg system-infocommandfeature: add--fix-facesoptions toaimg upscalecommandfix: add missing metadata attributes to generated imagesfix: image composition step was producing unnecessarily blurry imagesrefactor: splitaimgcli code into multiple filesdocs: pypi docs now link properly to github automatically10.1.0feature: 🎉 ControlNet integration!  Control the structure of generated images.feature:aimg colorizeattempts to use controlnet to colorize imagesfeature:--caption-textcommand adds text at the bottom left of an image10.0.1fix:editwas broken10.0.0feature: 🎉🎉 Make large images while retaining composition. Tryimagine "a flower" -w 1920 -h 1080fix: create compilations directory automaticallyperf: sliced encoding of images to latents (removes memory bottleneck)perf: use Silu for performance improvement over nonlinearityperf:xformersadded as a dependency for linux and windows.  Gives a nice speed boost.perf: sliced attention now runs on MacOS. A typo prevented that from happening previously.perf: sliced latent decoding - now possible to make much bigger images. 3310x3310 on 11 GB GPU.9.0.2fix: edit interface was broken9.0.1fix: use entry_points for windows since setup.py scripts doesn't work on windows#2399.0.0perf: cli now has minimal overhead such thataimg --helpruns in ~650ms instead of ~3400msfeature:editandimaginecommands now accept multiple images (which they will process separately).  This allows
batch editing of images as requested in#229refactor: move--surprise-meto its own subcommandedit-demofeature: allow selection of output image format with--output-file-extensiondocs: make training fail on MPS platform with useful error messagedocs: add directions on how to change model cache path8.3.1fix: init-image-strength type8.3.0feature: creategifsormp4sfrom any images made in a single run with--compilation-anim giffeature: create a series of images or edits by iterating over a parameter with the--arg-scheduleargumentfeature:openjourney-v1andopenjourney-v2models added. available via--model openjourney-v2feature: add upscale command line function:aimg upscalefeature:--gifoption will create a gif showing the generation process for a single imagefeature:--compare-gifoption will create a comparison gif for any image editsfix: tile mode was broken since latest perf improvements8.2.0feature: addedaimg system-infocommand to help debug issues8.1.0feature: some memory optimizations and documentationfeature: surprise-me improvementsfeature: image sizes can now be multiples of 8 instead of 64. Inputs will be silently rounded down.feature: cleaned upaimgshell logsfeature: auto-regen for unsafe imagesfix: make blip filename windows compatiblefix: make captioning work with alpha pngs8.0.5fix: bypass huggingface cache retrieval bug8.0.4fix: limit attention slice size on MacOS machines with 64gb (#175)8.0.3fix: use python 3.7 compatible lru_cachefix: use windows compatible filenames8.0.2fix: hf_hub_download() got an unexpected keyword argument 'token'8.0.1fix: spelling mistake of "surprise"8.0.0feature: 🎉 edit images with instructions alone!feature: when editing an image add--gifto create a comparision giffeature:aimg edit --surprise-me --gif my-image.jpgfor some fun pre-programmed editsfeature: prune-ckpt command also removes the non-ema weights7.6.0fix: default model config was brokenfeature: print version with--versionfeature: ability to load safetensorsfeature:  🎉 outpainting. Examples:--outpaint up10,down300,left50,right50or--outpaint all100or--outpaint u100,d200,l300,r4007.4.3fix: handle old pytorch lightning imports with a graceful failure (fixes #161)fix: handle failed image generations better (fixes #83)7.4.2fix: run face enhancement on GPU for 10x speedup7.4.1fix: incorrect config files being used for non-1.0 models7.4.0feature: 🎉 finetune your own image model. kind of like dreambooth. Read instructions on"Concept Training"pagefeature: image prep command. crops to face or other interesting parts of photofix: back-compat for hf_hub_downloadfeature: add prune-ckpt commandfeature: allow specification of model config file7.3.0feature: 🎉 depth-based image-to-image generations (and inpainting)fix: k_euler_a produces more consistent images per seed (randomization respects the seed again)7.2.0feature: 🎉 tile in a single dimension ("x" or "y").  This enables, with a bit of luck, generation of 360 VR images.
Try this for example:imagine --tile-x -w 1024 -h 512 "360 degree equirectangular panorama photograph of the mountains"  --upscale7.1.1fix: memory/speed regression introduced in 6.1.0fix: model switching now clears memory better, thus avoiding out of memory errors7.1.0feature: 🎉 Stable Diffusion 2.1.  Generated people are no longer (completely) distorted.
Use with--model SD-2.1or--model SD-2.0-v7.0.0feature: negative prompting.--negative-promptorImaginePrompt(..., negative_prompt="ugly, deformed, extra arms, etc")feature: a default negative prompt is added to all generations. Images in SD-2.0 don't look bad anymore. Images in 1.5 look improved as well.6.1.2fix: add back in memory-efficient algorithms6.1.1feature: xformers will be used if available (for faster generation)fix: version metadata was broken6.1.0feature: use different default steps and image sizes depending on sampler and model selcetedfix: #110 use proper version in image metadatarefactor: samplers all have their own class that inherits from ImageSamplerfeature: 🎉🎉🎉 Stable Diffusion 2.0--model SD-2.0to use (it makes worse images than 1.5 though...)Tested on macOS and LinuxAll samplers working for new 512x512 modelNew inpainting model working768x768 model working for all samplers except PLMS (--model SD-2.0-v)5.1.0feature: add progress image callback5.0.1fix: support larger images on M1. Fixes #8fix: support CPU generation by disabling autocast on CPU. Fixes #815.0.0feature: 🎉 inpainting support using new inpainting model from RunwayML. It works really well! By default, the
inpainting model will automatically be used for any image-masking taskfeature: 🎉 new default sampler makes image generation more than twice as fastfeature: addedDPM++ 2S aandDPM++ 2Msamplers.feature: improve progress image loggingfix: fix bug with--show-work. fixes #84fix: add workaround for pytorch bug affecting macOS users using the newDPM++ 2S aandDPM++ 2Msamplers.fix: add workaround for pytorch mps bug affectingk_dpm_fastsampler. fixes #75fix: larger image sizes now work on macOS. fixes #84.1.0feature: allow dynamic switching between models/weights--model SD-1.5or--model SD-1.4or--model path/my-custom-weights.ckpt)feature: log total progress when generating images (image X out of Y)4.0.0feature: stable diffusion 1.5 (slightly improved image quality)feature: dilation and erosion of masks
Previously the+and-characters in a mask (example:face{+0.1}) added to the grayscale value of any masked areas. This wasn't very useful. The new behavior is that the mask will expand or contract by the number of pixel specified. The technical terms for this are dilation and erosion.  This allows much greater control over the masked area.feature: update k-diffusion samplers. add k_dpm_adaptive and k_dpm_fastfeature: img2img/inpainting supported on all samplersrefactor: consolidates img2img/txt2img code. consolidates schedules. consolidates maskingci: minor logging improvements3.0.1fix: k-samplers were broken3.0.0feature: improved safety filter2.4.0🎉 feature: prompt expansionfeature: make (blip) photo captions more descriptive2.3.1fix: face fidelity default was broken2.3.0feature: model weights file can be specified via--model-weights-pathargument at the command linefix: set face fidelity default back to old valuefix: handle small images without throwing exception. credit to @NiclasEriksendocs: add setuptools-rust as dependency for macos2.2.1fix: init image is fully ignored if init-image-strength = 02.2.0feature: face enhancement fidelity is now configurable2.1.0improved masking accuracy from clipseg2.0.3fix memory leak in face enhancerfix blurry inpaintingfix for pillow compatibility2.0.0🎉 fix: inpainted areas correlate with surrounding image, even at 100% generation strength.  Previously if the generation strength was high enough the generated image
would be uncorrelated to the rest of the surrounding image.  It created terrible looking images.🎉 feature: interactive prompt added. access by runningaimg🎉 feature: Specify advanced text based masks using boolean logic and strength modifiers. Mask descriptions must be lowercase. Keywords uppercase.
Valid symbols:AND,OR,NOT,(), and mask strength modifier{+0.1}where+can be any of+ - * /. Single character boolean operators also work (|,&,!)🎉 feature: apply mask edits to original files withmask_modify_original(on by default)feature: auto-rotate images if exif data specifies to do sofix: mask boundaries are more accuratefix: accept mask images in command linefix: img2img algorithm was wrong and wouldn't at values close to 0 or 11.6.2fix: another bfloat16 fix1.6.1fix: make sure image tensors come to the CPU as float32 so there aren't compatibility issues with non-bfloat16 cpus1.6.0fix:maybeaddress #13 withexpected scalar type BFloat16 but found Floatat minimum one can specify--precision fullnow and that will probably fix the issuefeature: tile mode can now be specified per-prompt1.5.3fix: missing config file for describe feature1.5.1img2img now supported with PLMS (instead of just DDIM)added image captioning featureaimg describe dog.jpg=>a brown dog sitting on grassadded new commandline toolaimgfor additional image manipulation functionality1.4.0support multiple additive targets for masking with|symbol.  Example: "fruit|stem|fruit stem"1.3.0added prompt based image editing. Example: "fruit => gold coins"test coverage improved1.2.0allow urls as init-imagespreviousimg2img actually does # of steps you specifyperformance optimizationsnumerous other changesNot Supporteda GUI. this is a python libraryexploratory features that don't work wellTodoInference Performance Optimizations✅ fp16✅Doggettx Sliced attention✅ xformers supporthttps://www.photoroom.com/tech/stable-diffusion-100-percent-faster-with-memory-efficient-attention/https://github.com/neonsecret/stable-diffusionhttps://github.com/CompVis/stable-diffusion/pull/177https://github.com/huggingface/diffusers/pull/532/fileshttps://github.com/HazyResearch/flash-attentionhttps://github.com/chavinlo/sda-nodehttps://github.com/AminRezaei0x443/memory-efficient-attention/issues/7Development Environment✅ add tests✅ set up ci (test/lint/format)✅ unified pipeline (txt2img & img2img combined)✅ setup parallel testingadd docs🚫 remove yaml config🚫 delete more unused codefaster latent logginghttps://discuss.huggingface.co/t/decoding-latents-to-rgb-without-upscaling/23204/9Interface improvements✅ init-image at command line✅ prompt expansion✅ interactive cliImage Generation Features✅ add k-diffusion sampling methods✅ tiling✅ generation videos/gifs✅ controlnetscribbles inputsegmentation inputmlsd inputAttend and ExciteCompositional Visual Generationhttps://github.com/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorchhttps://colab.research.google.com/github/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorch/blob/main/notebooks/demo.ipynb#scrollTo=wt_j3uXZGFAS✅ negative promptingsome syntax to allow it in a text stringpaint with wordshttps://github.com/cloneofsimo/paint-with-words-sdhttps://multidiffusion.github.io/images as actual prompts instead of just init images.not directly possible due to model architecture.can it just be integrated into sampler?requires model fine-tuning since SD1.4 expects 77x768 text encoding inputhttps://twitter.com/Buntworthy/status/1566744186153484288https://github.com/justinpinkney/stable-diffusionhttps://github.com/LambdaLabsML/lambda-diffusershttps://www.reddit.com/r/MachineLearning/comments/x6k5bm/n_stable_diffusion_image_variations_released/Image Editing✅outpaintinghttps://github.com/parlance-zz/g-diffuser-bot/search?q=noise&type=issueslama cleaner✅ inpaintinghttps://github.com/Jack000/glid-3-xl-stablehttps://github.com/andreas128/RePaint✅ img2img but keeps img stablehttps://www.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/https://gist.github.com/trygvebw/c71334dd127d537a15e9d59790f7f5e1https://github.com/pesser/stable-diffusion/commit/bbb52981460707963e2a62160890d7ecbce00e79https://github.com/SHI-Labs/FcF-Inpaintinghttps://praeclarumjj3.github.io/fcf-inpainting/✅ text based image masking✅ ClipSeg -https://github.com/timojl/clipseghttps://github.com/facebookresearch/detectron2https://x-decoder-vl.github.io/Maskless editing✅ instruct-pix2pixAttention Control Methodshttps://github.com/bloc97/CrossAttentionControlhttps://github.com/ChenWu98/cycle-diffusionImage EnhancementPhoto Restoration -https://github.com/microsoft/Bringing-Old-Photos-Back-to-LifeUpscaling✅ realesrganldmhttps://github.com/lowfuel/progrock-stabletxt2imghdlatent scaling + reprocessingstability upscalerrivers have wings upscalerstable super-res?todo: try with 1-0-0-0 mask at full image resolution (rencoding entire image+predicted image at every step)todo: use a gaussian pyramid and only include the "high-detail" level of the pyramid into the next stephttps://www.reddit.com/r/StableDiffusion/comments/xkjjf9/upscale_to_huge_sizes_and_add_detail_with_sd/✅ face enhancers✅ gfpgan -https://github.com/TencentARC/GFPGAN✅ codeformer -https://github.com/sczhou/CodeFormer✅ image describe feature -✅https://github.com/salesforce/BLIP🚫 CLIP brute-force prompt reconstructionThe accuracy of this approach is too low for me to include it in imaginAIryhttps://github.com/rmokady/CLIP_prefix_captionhttps://github.com/pharmapsychotic/clip-interrogator(blip + clip)https://github.com/KaiyangZhou/CoOp🚫 CPU support.  While the code does actually work on some CPUs, the generation takes so long that I don't think it's
worth the effort to support this feature✅ img2img for plms✅ img2img for kdiff functionsOtherEnhancement pipelinestext-to-3dhttps://dreamfusionpaper.github.io/https://shihmengli.github.io/3D-Photo-Inpainting/https://github.com/thygate/stable-diffusion-webui-depthmap-script/discussions/50Depth estimationwhat is SOTA for monocular depth estimation?https://github.com/compphoto/BoostingMonocularDepthmake a videohttps://github.com/lucidrains/make-a-video-pytorchanimationshttps://github.com/francislabountyjr/stable-diffusion/blob/main/inferencing_notebook.ipynbhttps://www.youtube.com/watch?v=E7aAFEhdngIhttps://github.com/pytti-tools/frame-interpolationguided generationhttps://colab.research.google.com/drive/1dlgggNa5Mz8sEAGU0wFCHhGLFooW_pf1#scrollTo=UDeXQKbPTdZIhttps://colab.research.google.com/github/aicrumb/doohickey/blob/main/Doohickey_Diffusion.ipynb#scrollTo=PytCwKXCmPidhttps://github.com/mlfoundations/open_cliphttps://github.com/openai/guided-diffusionimage variationshttps://github.com/lstein/stable-diffusion/blob/main/VARIATIONS.mdtextual inversionhttps://www.reddit.com/r/StableDiffusion/comments/xbwb5y/how_to_run_textual_inversion_locally_train_your/https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/sd_textual_inversion_training.ipynb#scrollTo=50JuJUM8EG1hhttps://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_diffusion_textual_inversion_library_navigator.ipynbhttps://github.com/Jack000/glid-3-xl-stablefix saturation at high CFGhttps://www.reddit.com/r/StableDiffusion/comments/xalo78/fixing_excessive_contrastsaturation_resulting/https://www.reddit.com/r/StableDiffusion/comments/xbrrgt/a_rundown_of_twenty_new_methodsoptions_added_to/✅ deploy to pypifind similar imageshttps://knn5.laion.ai/?back=https%3A%2F%2Fknn5.laion.ai%2F&index=laion5B&useMclip=falsehttps://github.com/vicgalle/stable-diffusion-aesthetic-gradientsTrainingFinetuning "dreambooth" styleTextual InversionFast Textual InversionLow-rank Adaptation for Fast Text-to-Image Diffusion Fine-tuning (LORA)https://huggingface.co/spaces/lora-library/Low-rank-AdaptationPerformance ImprovementsColoassalAI- almost got it working but it's not easy enough to install to merit inclusion in imaginairy. We should check back in on this.XformersDeepspeedNotable Stable Diffusion Implementationshttps://github.com/ahrm/UnstableFusionhttps://github.com/AUTOMATIC1111/stable-diffusion-webuihttps://github.com/blueturtleai/gimp-stable-diffusionhttps://github.com/hafriedlander/stable-diffusion-grpcserverhttps://github.com/huggingface/diffusers/tree/main/src/diffusers/pipelines/stable_diffusionhttps://github.com/lkwq007/stablediffusion-infinityhttps://github.com/lstein/stable-diffusionhttps://github.com/parlance-zz/g-diffuser-libhttps://github.com/hafriedlander/idea2artOnline Stable Diffusion Serviceshttps://stablecog.com/Image Generation Algorithms2023-02-22 - Composer (alibaba)sitepapercodeDalle (openai)Latent DiffusionFurther Readinghttps://github.com/vdumoulin/conv_arithmetic/blob/master/README.mdPrompt Engineering HandbookDifferences between samplershttps://www.reddit.com/r/StableDiffusion/comments/xbeyw3/can_anyone_offer_a_little_guidance_on_the/https://www.reddit.com/r/bigsleep/comments/xb5cat/wiskkeys_lists_of_texttoimage_systems_and_related/https://huggingface.co/blog/annotated-diffusionhttps://github.com/jessevig/bertvizhttps://www.youtube.com/watch?v=5pIQFQZsNe8https://jalammar.github.io/illustrated-transformer/https://huggingface.co/blog/assets/78_annotated-diffusion/unet_architecture.jpg