refiners/README.md

91 lines
5.3 KiB
Markdown
Raw Normal View History

2023-08-04 13:28:41 +00:00
<div align="center">
<picture>
2023-08-04 17:18:07 +00:00
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/finegrain-ai/refiners/main/assets/logo_dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/finegrain-ai/refiners/main/assets/logo_light.png">
2023-08-04 13:28:41 +00:00
<img alt="Finegrain Refiners Library" width="352" height="128" style="max-width: 100%;">
</picture>
2024-02-02 13:48:33 +00:00
**The simplest way to train and run adapters on top of foundation models**
2024-02-02 16:58:04 +00:00
[**Manifesto**](https://refine.rs/home/why/) | [**Docs**](https://refine.rs) | [**Guides**](https://refine.rs/guides/adapting_sdxl/) | [**Discussions**](https://github.com/finegrain-ai/refiners/discussions) | [**Discord**](https://discord.gg/mCmjNUVV7d)
2023-08-04 13:28:41 +00:00
______________________________________________________________________
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/refiners)](https://pypi.org/project/refiners/)
[![PyPI Status](https://badge.fury.io/py/refiners.svg)](https://badge.fury.io/py/refiners)
[![license](https://img.shields.io/badge/license-MIT-blue)](/LICENSE)
2023-11-28 10:37:32 +00:00
[![code bounties](https://img.shields.io/badge/code-bounties-blue)](https://finegrain.ai/bounties)
[![chat](https://img.shields.io/discord/1179456777406922913?logo=discord&logoColor=white&color=%235765F2)](https://discord.gg/mCmjNUVV7d)
2023-08-04 13:28:41 +00:00
</div>
2023-10-19 14:09:30 +00:00
## Latest News 🔥
2024-02-23 18:15:48 +00:00
- Added [SDXL-Lightning](https://arxiv.org/abs/2402.13929)
2024-02-21 15:31:07 +00:00
- Added [Latent Consistency Models](https://arxiv.org/abs/2310.04378) and [LCM-LoRA](https://arxiv.org/abs/2311.05556) for Stable Diffusion XL
- Added [Style Aligned adapter](https://arxiv.org/abs/2312.02133) to Stable Diffusion models
- Added [ControlLoRA (v2) adapter](https://github.com/HighCWu/control-lora-v2) to Stable Diffusion XL
- Added [Euler's method](https://arxiv.org/abs/2206.00364) to solvers (contributed by [@israfelsr](https://github.com/israfelsr))
2023-12-14 16:43:04 +00:00
- Added [DINOv2](https://github.com/facebookresearch/dinov2) for high-performance visual features (contributed by [@Laurent2916](https://github.com/Laurent2916))
2023-11-17 17:22:18 +00:00
- Added [FreeU](https://github.com/ChenyangSi/FreeU) for improved quality at no cost (contributed by [@isamu-isozaki](https://github.com/isamu-isozaki))
2023-10-19 14:09:30 +00:00
- Added [Restart Sampling](https://github.com/Newbeeer/diffusion_restart_sampling) for improved image generation ([example](https://github.com/Newbeeer/diffusion_restart_sampling/issues/4))
- Added [Self-Attention Guidance](https://github.com/KU-CVLAB/Self-Attention-Guidance/) to avoid e.g. too smooth images ([example](https://github.com/SusungHong/Self-Attention-Guidance/issues/4))
- Added [T2I-Adapter](https://github.com/TencentARC/T2I-Adapter) for extra guidance ([example](https://github.com/TencentARC/T2I-Adapter/discussions/93))
- Added [MultiDiffusion](https://github.com/omerbt/MultiDiffusion) for e.g. panorama images
- Added [IP-Adapter](https://github.com/tencent-ailab/IP-Adapter), aka image prompt ([example](https://github.com/tencent-ailab/IP-Adapter/issues/92))
2024-02-01 17:31:50 +00:00
- Added [Segment Anything](https://github.com/facebookresearch/segment-anything) to foundation models
- Added [SDXL 1.0](https://github.com/Stability-AI/generative-models) to foundation models
2023-10-19 14:09:30 +00:00
- Made possible to add new concepts to the CLIP text encoder, e.g. via [Textual Inversion](https://arxiv.org/abs/2208.01618)
2024-02-02 13:48:33 +00:00
## Installation
2023-10-19 14:09:30 +00:00
2024-02-02 13:48:33 +00:00
The current recommended way to install Refiners is from source using [Rye](https://rye-up.com/):
2023-10-19 14:09:30 +00:00
```bash
2024-02-02 13:48:33 +00:00
git clone "git@github.com:finegrain-ai/refiners.git"
cd refiners
rye sync --all-features
2023-08-04 13:28:41 +00:00
```
2024-02-02 13:48:33 +00:00
## Documentation
2023-08-04 13:28:41 +00:00
2024-02-02 13:48:33 +00:00
Refiners comes with a MkDocs-based documentation website available at https://refine.rs. You will find there a [quick start guide](https://refine.rs/getting-started/recommended/), a description of the [key concepts](https://refine.rs/concepts/chain/), as well as in-depth foundation model adaptation [guides](https://refine.rs/guides/adapting_sdxl/).
2023-08-04 13:28:41 +00:00
## Awesome Adaptation Papers
If you're interested in understanding the diversity of use cases for foundation model adaptation (potentially beyond the specific adapters supported by Refiners), we suggest you take a look at these outstanding papers:
2024-02-02 13:48:33 +00:00
- [ControlNet](https://arxiv.org/abs/2302.05543)
- [T2I-Adapter](https://arxiv.org/abs/2302.08453)
- [IP-Adapter](https://arxiv.org/abs/2308.06721)
- [Medical SAM Adapter](https://arxiv.org/abs/2304.12620)
- [3DSAM-adapter](https://arxiv.org/abs/2306.13465)
- [SAM-adapter](https://arxiv.org/abs/2304.09148)
- [Cross Modality Attention Adapter](https://arxiv.org/abs/2307.01124)
- [UniAdapter](https://arxiv.org/abs/2302.06605)
2023-11-24 09:34:46 +00:00
## Projects using Refiners
- https://github.com/brycedrennan/imaginAIry
2023-08-04 13:28:41 +00:00
## Credits
We took inspiration from these great projects:
- [tinygrad](https://github.com/tinygrad/tinygrad) - For something between PyTorch and [karpathy/micrograd](https://github.com/karpathy/micrograd)
- [Composer](https://github.com/mosaicml/composer) - A PyTorch Library for Efficient Neural Network Training
- [Keras](https://github.com/keras-team/keras) - Deep Learning for humans
## Citation
```bibtex
@misc{the-finegrain-team-2023-refiners,
author = {Benjamin Trom and Pierre Chapuis and Cédric Deltheil},
2024-02-01 17:31:50 +00:00
title = {Refiners: The simplest way to train and run adapters on top of foundation models},
2023-08-04 13:28:41 +00:00
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/finegrain-ai/refiners}}
}
```