v0.1.0

dyad-sh/dyadv0.1.0Jan 7, 2025by EricLBuehler

AI Summary

Marks the initial release of diffusion-rs, a library for running diffusion models in Rust and Python with support for DDUF files and optimized inference kernels.

Key Highlights

  • Initial release of diffusion-rs
  • Support loading from dduf files
  • Use more optimized kernels (sdpa, layernorm)
  • Add python api and CLI
  • Support device offloading

New Features

  • DDUF file loading support
  • Optimized kernels (sdpa, layernorm)
  • Python API bindings
  • Command-line interface (diffusers_cli)
  • Device offloading support
  • 8-bit quantization support

Full Release Notes

🎉 Initial release of diffusion-rs!

Check out the installation guide and examples for getting started! 
- [Python pacakges](https://pypi.org/search/?q=diffusion-rs) are available as wheels on PyPi for easy download.
- [Rust crates](https://crates.io/crates/diffusion_rs_core) are also available on crates.io!

## MSRV
The [MSRV](https://github.com/rust-lang/api-guidelines/discussions/231) is 1.79.0.

## What's Changed
* Support loading from dduf files by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/1
* Use more optimized kernels (sdpa, layernorm) by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/2
* Run flux sdpa in f32 by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/3
* Nicer examples and api, integrate logging by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/4
* Add some CI by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/6
* Add a cli: diffusers_cli by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/5
* Refine cli by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/7
* Use metal autorelease to optimize memory usage by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/8
* Better docs and readme by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/9
* Add python api, restructure by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/10
* Add an installation guide by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/11
* Integrate nn core to diffuse_rs_common by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/12
* Add python api type hint file by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/14
* flux: fix padding of prompts to support batching by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/15
* pipeline: respect silent option by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/16
* Support bnb 8bit by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/17
* Refactor scheduler & sampling by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/18
* Remove deprecated by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/19
* Support device offloading by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/21
* Update docs by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/20
* Much faster loading of DDUF files by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/23
* Final changes before release by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/24
* Prep docs for python release by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/25
* Rename diffuse-rs to diffusion-rs by @EricLBuehler in https://github.com/EricLBuehler/diffusion-rs/pull/26

## New Contributors
* @EricLBuehler made their first contribution in https://github.com/EricLBuehler/diffusion-rs/pull/1

**Full Changelog**: https://github.com/EricLBuehler/diffusion-rs/commits/v0.1.0