an out-of-the-box acceleration library for diffusion models
Project description
OneDiff is an out-of-the-box acceleration library for diffusion models (especially for ComfyUI, HF diffusers, and Stable Diffusion web UI).
OneDiff is the abbreviation of "one line of code to accelerate diffusion models".
News
- :rocket:Accelerating Stable Video Diffusion 3x faster with OneDiff DeepCache + Int8
- :rocket:Accelerating SDXL 3x faster with DeepCache and OneDiff
- :rocket:InstantID can run 1.8x Faster with OneDiff
Community & Support
- Create an issue
- Chat in Discord:
- Email for business inquiry: contact@siliconflow.com
- OneDiff Development Roadmap
State-of-the-art performance
Easy to use
Out-of-the-box acceleration for popular UIs/libs
Acceleration for state-of-the-art Models
- SDXL
- SDXL Turbo
- SD 1.5/2.1
- LoRA (and dynamic switching LoRA)
- ControlNet
- LCM and LCM LoRA
- Stable Video Diffusion
- DeepCache
- InstantID
Ready for production
- Support Multi-resolution input
- Compile and save the compiled result offline, then load it online for serving
OneDiff Online Playground
OneDiff Enterprise Edition
If you need Enterprise-level Support for your system or business, you can
- subscribe Enterprise Edition online and get all support after the order: https://siliconflow.com/onediff.html
- or send an email to contact@siliconflow.com and tell us about your user case, deployment scale, and requirements.
OneDiff Enterprise Edition can be subscripted for one month and one GPU and the cost is low.
OneDiff Enterprise | OneDiff Community | |
---|---|---|
SD/SDXL series model Optimization | Yes | Yes |
UNet/VAE/ControlNet Optimization | Yes | Yes |
LoRA(and dynamic switching LoRA) | Yes | Yes |
SDXL Turbo/LCM | Yes | Yes |
Stable Video Diffusion | Yes | Yes |
HF diffusers | Yes | Yes |
ComfyUI | Yes | Yes |
Stable Diffusion web UI | Yes | Yes |
Multiple Resolutions | Yes(No time cost for most of the cases) | Yes(No time cost for most of the cases) |
More Extreme and Dedicated optimization(usually another 20~100% performance gain) | Yes | |
Technical Support for deployment | High priority support | Community |
Get the latest technology/feature | Yes |
OS and GPU support
- Linux
- If you want to use OneDiff on Windows, please use it under WSL.
- NVIDIA GPUs
OneDiff Installation
Install from source
1. Install OneFlow
NOTE: We have updated OneFlow a lot for OneDiff, so please install OneFlow by the links below.
-
CUDA 11.8
# For NA/EU users python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu118
# For CN users python3 -m pip install --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu118
Click to get OneFlow packages for other CUDA versions.
-
CUDA 12.1
# For NA/EU users python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu121
# For CN users python3 -m pip install --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu121
-
CUDA 12.2
# For NA/EU users python3 -m pip install -U --pre oneflow -f https://github.com/siliconflow/oneflow_releases/releases/expanded_assets/community_cu122
# For CN users python3 -m pip install --pre oneflow -f https://oneflow-pro.oss-cn-beijing.aliyuncs.com/branch/community/cu122
2. Install torch and diffusers
python3 -m pip install "torch" "transformers==4.27.1" "diffusers[torch]==0.19.3"
3. Install OneDiff
- From PyPI
python3 -m pip install --pre onediff
- From source
git clone https://github.com/siliconflow/onediff.git
cd onediff && python3 -m pip install -e .
NOTE: If you intend to utilize plugins for ComfyUI/StableDiffusion-WebUI, we highly recommend installing OneDiff from the source rather than PyPI. This is necessary as you'll need to manually copy (or create a soft link) for the relevant code into the extension folder of these UIs/Libs.
4. (Optional)Login huggingface-cli
python3 -m pip install huggingface_hub
~/.local/bin/huggingface-cli login
Release
-
run examples to check it works
cd onediff_diffusers_extensions python3 examples/text_to_image.py
-
bump version in these files:
.github/workflows/pub.yml src/onediff/__init__.py
-
install build package
python3 -m pip install build
-
build wheel
rm -rf dist python3 -m build
-
upload to pypi
twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for onediff-0.12.1.dev202402270123.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b3375b80af516f1d7f07557826dfdd999b4cfbc8ed82c3cdeedd1388de96ed4 |
|
MD5 | 3384571bac66dce1b218393d2ffd6b3c |
|
BLAKE2b-256 | 6973daf133090db3fd5a1296c580b038773f8ff4772618be50ab2bb6448f8614 |
Hashes for onediff-0.12.1.dev202402270123-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb86e1da5463accb8a8a317c2afbca7b426bfe31cf74848627cf89f2b7af20c4 |
|
MD5 | e970575ff1ad822368d8360113e52b4e |
|
BLAKE2b-256 | 20aafc8e462301d4dd20533524a8b1cdf355dad72eb86f7f415ec7c258f2ff7b |