huiyoujia-ai
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: Du5TCh3N
- License: agpl-3.0
- Language: Python
- Default Branch: main
- Size: 11.2 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Huiyoujia-AI.com
Prerequisites
- AWS account with the permission to create and manage EC2 instances.
- Access to creating EC2 instances that uses the g4dn.xlarge gpu
- WSL installed to SSH into the EC2 instances
Step 1: Deploy EC2 Instance
- Open the AWS Management Console, navigate to the EC2 dashboard, and select launch new instance
- Choose Ubuntu (best to use Deep Learning AMI GPU Pytorch) as the AMI
- Select the Instance type (g4dn.xlarge)
- Select or create a new key pair (save the key pair if it is not automatically saved)
- Adjust Network settings
- Configure storage (at the moment used 200GB of GP3 Root volume)
- Click Launch Instance at the bottom
Step 2: SSH Into the EC2
- After the EC2 instance has been deployed, open the instance summary page and find the public ipv4 dns address
- Open a terminal and enter WSL or other Ubuntu command line
- Copy the saved key-pair file to WSL root by running
mkdir aws_keyfollowed bycp /mnt/path/to/file/key-pair.pem aws_key/key-pair.pem - Run the following commands to make sure your environment is up to date
sudo apt-get update && sudo apt-get upgrade - Encrypt the key-pair file to meet AWS requriements using this command
chmod 400 aws_key/key-pair.pem - SSH into the EC2 using
ssh -i aws_key/key-pair.pem ubuntu@ec2-public-ipv4-dns, replace "ec2-public-ipv4-dns" with the value found on the instance summary page - after entering the EC2 via SSH, run
sudo apt-get update && sudo apt-get upgradeand check if other packages are updated/present
Step 3: Setting up Stable Diffusion WebUI
- (Optional) Make a new folder by using
mkdir genAI - Clone the Stable Diffusion WebUI git (or clone modified git) via
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webuior other command - Navigate to stable-diffusion-webui/models/Stable-diffusion folder
- Transfer the needed model files via S3, use
aws s3 cp s3://sd-bucket/chilloutmix_NiPrunedFp32Fix.safetensors ., replace sd-bucket with the name of the bucket and the path to the file - Return to the root of the stable-diffusion-webui
- (Optional) launch tmux session manager by using the command
tmux - Launch the web ui using
./webui.sh --share, add --share to create a gradle link that is public for 72 hours Or launch the web ui using
./webui.sh --listen --xformers --tls-keyfile huiyoujia-ai.key --tls-certfile huiyoujia-ai.crt --disable-tls-verifyAfter done with the service, be sure to either stop the instance via the AWS Management Console, or to terminate in the command line to take down the gradle link
Setting up ControlNet
- Navigate in command line to stable-diffusion-webui/extensions
- Clone the Control Net extension by
git clone https://github.com/Mikubill/sd-webui-controlnet - Navigate to stable-diffusion-webui/extensions/sd-webui-controlnet/models
- Transfer the needed control net model files via S3, use
aws s3 cp s3://sd-bucket/control-net-models/model-name.pth . - Relaunch the WebUI if it was already running
Stable Diffusion web UI
A browser interface based on Gradio library for Stable Diffusion.

Features
Detailed feature showcase with images:
- Original txt2img and img2img modes
- One click install and run script (but you still must install python and git)
- Outpainting
- Inpainting
- Color Sketch
- Prompt Matrix
- Stable Diffusion Upscale
- Attention, specify parts of text that the model should pay more attention to
- a man in a ((tuxedo)) - will pay more attention to tuxedo
- a man in a (tuxedo:1.21) - alternative syntax
- select text and press Ctrl+Up or Ctrl+Down (or Command+Up or Command+Down if you're on a MacOS) to automatically adjust attention to selected text (code contributed by anonymous user)
- Loopback, run img2img processing multiple times
- X/Y/Z plot, a way to draw a 3 dimensional plot of images with different parameters
- Textual Inversion
- have as many embeddings as you want and use any names you like for them
- use multiple embeddings with different numbers of vectors per token
- works with half precision floating point numbers
- train embeddings on 8GB (also reports of 6GB working)
- Extras tab with:
- GFPGAN, neural network that fixes faces
- CodeFormer, face restoration tool as an alternative to GFPGAN
- RealESRGAN, neural network upscaler
- ESRGAN, neural network upscaler with a lot of third party models
- SwinIR and Swin2SR (see here), neural network upscalers
- LDSR, Latent diffusion super resolution upscaling
- Resizing aspect ratio options
- Sampling method selection
- Adjust sampler eta values (noise multiplier)
- More advanced noise setting options
- Interrupt processing at any time
- 4GB video card support (also reports of 2GB working)
- Correct seeds for batches
- Live prompt token length validation
- Generation parameters
- parameters you used to generate images are saved with that image
- in PNG chunks for PNG, in EXIF for JPEG
- can drag the image to PNG info tab to restore generation parameters and automatically copy them into UI
- can be disabled in settings
- drag and drop an image/text-parameters to promptbox
- Read Generation Parameters Button, loads parameters in promptbox to UI
- Settings page
- Running arbitrary python code from UI (must run with --allow-code to enable)
- Mouseover hints for most UI elements
- Possible to change defaults/mix/max/step values for UI elements via text config
- Tiling support, a checkbox to create images that can be tiled like textures
- Progress bar and live image generation preview
- Can use a separate neural network to produce previews with almost none VRAM or compute requirement
- Negative prompt, an extra text field that allows you to list what you don't want to see in generated image
- Styles, a way to save part of prompt and easily apply them via dropdown later
- Variations, a way to generate same image but with tiny differences
- Seed resizing, a way to generate same image but at slightly different resolution
- CLIP interrogator, a button that tries to guess prompt from an image
- Prompt Editing, a way to change prompt mid-generation, say to start making a watermelon and switch to anime girl midway
- Batch Processing, process a group of files using img2img
- Img2img Alternative, reverse Euler method of cross attention control
- Highres Fix, a convenience option to produce high resolution pictures in one click without usual distortions
- Reloading checkpoints on the fly
- Checkpoint Merger, a tab that allows you to merge up to 3 checkpoints into one
- Custom scripts with many extensions from community
- Composable-Diffusion, a way to use multiple prompts at once
- separate prompts using uppercase AND
- also supports weights for prompts: a cat :1.2 AND a dog AND a penguin :2.2
- No token limit for prompts (original stable diffusion lets you use up to 75 tokens)
- DeepDanbooru integration, creates danbooru style tags for anime prompts
- xformers, major speed increase for select cards: (add --xformers to commandline args)
- via extension: History tab: view, direct and delete images conveniently within the UI
- Generate forever option
- Training tab
- hypernetworks and embeddings options
- Preprocessing images: cropping, mirroring, autotagging using BLIP or deepdanbooru (for anime)
- Clip skip
- Hypernetworks
- Loras (same as Hypernetworks but more pretty)
- A separate UI where you can choose, with preview, which embeddings, hypernetworks or Loras to add to your prompt
- Can select to load a different VAE from settings screen
- Estimated completion time in progress bar
- API
- Support for dedicated inpainting model by RunwayML
- via extension: Aesthetic Gradients, a way to generate images with a specific aesthetic by using clip images embeds (implementation of https://github.com/vicgalle/stable-diffusion-aesthetic-gradients)
- Stable Diffusion 2.0 support - see wiki for instructions
- Alt-Diffusion support - see wiki for instructions
- Now without any bad letters!
- Load checkpoints in safetensors format
- Eased resolution restriction: generated image's dimension must be a multiple of 8 rather than 64
- Now with a license!
- Reorder elements in the UI from settings screen
Installation and Running
Make sure the required dependencies are met and follow the instructions available for: - NVidia (recommended) - AMD GPUs. - Intel CPUs, Intel GPUs (both integrated and discrete) (external wiki page)
Alternatively, use online services (like Google Colab):
Installation on Windows 10/11 with NVidia-GPUs using release package
- Download
sd.webui.zipfrom v1.0.0-pre and extract it's contents. - Run
update.bat. - Run
run.bat. > For more details see Install-and-Run-on-NVidia-GPUs
Automatic Installation on Windows
- Install Python 3.10.6 (Newer version of Python does not support torch), checking "Add Python to PATH".
- Install git.
- Download the stable-diffusion-webui repository, for example by running
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git. - Run
webui-user.batfrom Windows Explorer as normal, non-administrator, user.
Automatic Installation on Linux
- Install the dependencies:
bash # Debian-based: sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0 # Red Hat-based: sudo dnf install wget git python3 # Arch-based: sudo pacman -S wget git python3 - Navigate to the directory you would like the webui to be installed and execute the following command:
bash wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh - Run
webui.sh. - Check
webui-user.shfor options. ### Installation on Apple Silicon
Find the instructions here.
Contributing
Here's how to add code to this repo: Contributing
Documentation
The documentation was moved from this README over to the project's wiki.
For the purposes of getting Google and other search engines to crawl the wiki, here's a link to the (not for humans) crawlable wiki.
Credits
Licenses for borrowed code can be found in Settings -> Licenses screen, and also in html/licenses.html file.
- Stable Diffusion - https://github.com/CompVis/stable-diffusion, https://github.com/CompVis/taming-transformers
- k-diffusion - https://github.com/crowsonkb/k-diffusion.git
- GFPGAN - https://github.com/TencentARC/GFPGAN.git
- CodeFormer - https://github.com/sczhou/CodeFormer
- ESRGAN - https://github.com/xinntao/ESRGAN
- SwinIR - https://github.com/JingyunLiang/SwinIR
- Swin2SR - https://github.com/mv-lab/swin2sr
- LDSR - https://github.com/Hafiidz/latent-diffusion
- MiDaS - https://github.com/isl-org/MiDaS
- Ideas for optimizations - https://github.com/basujindal/stable-diffusion
- Cross Attention layer optimization - Doggettx - https://github.com/Doggettx/stable-diffusion, original idea for prompt editing.
- Cross Attention layer optimization - InvokeAI, lstein - https://github.com/invoke-ai/InvokeAI (originally http://github.com/lstein/stable-diffusion)
- Sub-quadratic Cross Attention layer optimization - Alex Birch (https://github.com/Birch-san/diffusers/pull/1), Amin Rezaei (https://github.com/AminRezaei0x443/memory-efficient-attention)
- Textual Inversion - Rinon Gal - https://github.com/rinongal/textual_inversion (we're not using his code, but we are using his ideas).
- Idea for SD upscale - https://github.com/jquesnelle/txt2imghd
- Noise generation for outpainting mk2 - https://github.com/parlance-zz/g-diffuser-bot
- CLIP interrogator idea and borrowing some code - https://github.com/pharmapsychotic/clip-interrogator
- Idea for Composable Diffusion - https://github.com/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorch
- xformers - https://github.com/facebookresearch/xformers
- DeepDanbooru - interrogator for anime diffusers https://github.com/KichangKim/DeepDanbooru
- Sampling in float32 precision from a float16 UNet - marunine for the idea, Birch-san for the example Diffusers implementation (https://github.com/Birch-san/diffusers-play/tree/92feee6)
- Instruct pix2pix - Tim Brooks (star), Aleksander Holynski (star), Alexei A. Efros (no star) - https://github.com/timothybrooks/instruct-pix2pix
- Security advice - RyotaK
- UniPC sampler - Wenliang Zhao - https://github.com/wl-zhao/UniPC
- TAESD - Ollin Boer Bohan - https://github.com/madebyollin/taesd
- LyCORIS - KohakuBlueleaf
- Restart sampling - lambertae - https://github.com/Newbeeer/diffusionrestartsampling
- Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user.
- (You)
Owner
- Name: Guangzhong Chen
- Login: Du5TCh3N
- Kind: user
- Repositories: 14
- Profile: https://github.com/Du5TCh3N
CompSci Student at KCL
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - given-names: AUTOMATIC1111 title: "Stable Diffusion Web UI" date-released: 2022-08-22 url: "https://github.com/AUTOMATIC1111/stable-diffusion-webui"
GitHub Events
Total
Last Year
Dependencies
- actions/checkout v3 composite
- actions/setup-node v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- nvidia/cuda 10.2-cudnn7-runtime-ubuntu18.04 build
- eslint ^8.40.0 development
- torch >=1.2.0
- torchvision >=0.4.0
- torch *
- torchvision *
- einops ==0.6.0
- imutils ==0.5.4
- opencv-python ==4.6.0.66
- timm ==0.6.12
- fvcore *
- mediapipe *
- opencv-python >=4.8.0
- svglib *
- pytest * test
- pytest-base-url * test
- pytest-cov * test
- GitPython *
- Pillow *
- accelerate *
- authing *
- basicsr *
- blendmodes *
- clean-fid *
- einops *
- fastapi >=0.90.1
- gfpgan *
- gradio ==3.41.2
- inflection *
- jsonmerge *
- kornia *
- lark *
- numpy *
- omegaconf *
- open-clip-torch *
- piexif *
- psutil *
- pytorch_lightning *
- realesrgan *
- requests *
- resize-right *
- safetensors *
- scikit-image >=0.19
- timm *
- tomesd *
- torch *
- torchdiffeq *
- torchsde *
- transformers ==4.30.2
- GitPython ==3.1.32
- Pillow ==9.5.0
- accelerate ==0.21.0
- authing ==5.0.3
- basicsr ==1.4.2
- blendmodes ==2022
- clean-fid ==0.1.35
- einops ==0.4.1
- fastapi ==0.94.0
- gfpgan ==1.3.8
- gradio ==3.41.2
- httpcore ==0.15
- inflection ==0.5.1
- jsonmerge ==1.8.0
- kornia ==0.6.7
- lark ==1.1.2
- numpy ==1.23.5
- omegaconf ==2.2.3
- open-clip-torch ==2.20.0
- piexif ==1.1.3
- psutil ==5.9.5
- pytorch_lightning ==1.9.4
- realesrgan ==0.3.0
- resize-right ==0.0.2
- safetensors ==0.3.1
- scikit-image ==0.21.0
- timm ==0.9.2
- tomesd ==0.1.3
- torch *
- torchdiffeq ==0.2.3
- torchsde ==0.2.5
- transformers ==4.30.2