# bmaltais/kohya_ss

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bmaltais-kohya-ss).**

12,384 stars · 1,592 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/bmaltais/kohya_ss
- awesome-repositories: https://awesome-repositories.com/repository/bmaltais-kohya-ss.md

## Description

kohya_ss is a graphical user interface and workbench for fine-tuning diffusion models, specifically designed for Stable Diffusion. It provides a suite of tools for training generative AI models, including specialized interfaces for creating Low-Rank Adaptation weights and training ControlNet spatial control networks.

The project distinguishes itself through integrated VRAM usage optimization and hardware acceleration, featuring specific support for Intel GPUs via XPU-accelerated libraries. It implements parameter-efficient training methods and memory-saving techniques like gradient checkpointing to enable the training of large models on consumer hardware.

The platform covers the entire training lifecycle, from dataset preparation with image bucket organization and caption control to the execution of fine-tuning scripts. It includes capabilities for real-time progress monitoring through in-training sample generation, state recovery via model checkpointing, and the application of advanced training techniques such as masked loss and custom learning schedules.

The software includes automation for environment bootstrapping, dependency management, and containerized deployment options.

## Tags

### Artificial Intelligence & ML

- [Generative Model Fine-Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-model-fine-tuning.md) — Provides a comprehensive graphical workbench for fine-tuning generative diffusion models. ([source](https://github.com/bmaltais/kohya_ss#readme))
- [Model Fine-Tuning](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/fine-tuning-and-customization/model-fine-tuning.md) — Provides a comprehensive suite for fine-tuning Stable Diffusion models with custom images and captions.
- [Custom Diffusion Model Training](https://awesome-repositories.com/f/artificial-intelligence-ml/custom-diffusion-model-training.md) — Ships a full suite of tools for configuring optimizers and datasets to train diffusion-based neural networks.
- [Dataset Preparation Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/dataset-preparation-tools.md) — Includes utilities for organizing images into buckets and managing caption tokens for generative AI datasets.
- [Stable Diffusion Web Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/generative-ai-resources/diffusion-visual-models/generative-ai-models/diffusion-models/stable-diffusion-web-interfaces.md) — Provides a graphical web interface for fine-tuning Stable Diffusion models using custom hyperparameters.
- [GPU-Accelerated Training Workbenches](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-accelerated-training-workbenches.md) — Provides a managed workbench for allocating VRAM and optimizing compute resources during large-scale model training.
- [LoRA Training](https://awesome-repositories.com/f/artificial-intelligence-ml/lora-training.md) — Implements specialized tools for creating Low-Rank Adaptation weights to inject styles or characters into models. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/options.md))
- [Low-Rank Adaptation](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/fine-tuning-and-customization/model-fine-tuning/low-rank-adaptation.md) — Enables parameter-efficient fine-tuning using low-rank adaptation to customize models with minimal hardware requirements.
- [Memory Optimization](https://awesome-repositories.com/f/artificial-intelligence-ml/memory-optimization.md) — Minimizes VRAM consumption using techniques like gradient checkpointing and caching to prevent out-of-memory errors. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/options.md))
- [Model Training Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training-interfaces.md) — Provides a browser-based graphical interface for configuring and executing diffusion model training scripts. ([source](https://github.com/bmaltais/kohya_ss/blob/master/gui.bat))
- [Spatial Control Interfaces](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training-interfaces/spatial-control-interfaces.md) — Provides a specialized interface for training lightweight ControlNet spatial control networks.
- [Lightweight Control Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/lightweight-control-networks.md) — Supports the training of lightweight ControlNet-LLLite networks using image pairs for spatial control. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/train_lllite_README.md))
- [Spatial Control Networks](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/spatial-control-networks.md) — Provides specialized tooling for training ControlNet spatial control networks using image pairs.
- [Training Optimizations](https://awesome-repositories.com/f/artificial-intelligence-ml/training-optimizations.md) — Implements training optimizations to manage VRAM and batch sizes for training on consumer hardware.
- [Aspect Ratio Bucketing](https://awesome-repositories.com/f/artificial-intelligence-ml/aspect-ratio-bucketing.md) — Implements image bucketing to maintain spatial proportions and minimize padding during the dataset preparation process.
- [Caption Augmentation Strategies](https://awesome-repositories.com/f/artificial-intelligence-ml/caption-augmentation-strategies.md) — Provides controls for shuffling word order and dropping captions to influence how the model learns from text descriptions. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/options.md))
- [Image Augmentation](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/image-augmentation.md) — Increases dataset variety by applying random image flipping and color hue alterations during the training process. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/options.md))
- [Hardware Resource Allocation](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-accelerated-training-workbenches/hardware-resource-allocation.md) — Deno-based definition of specific GPU hardware identifiers to be used during the training process. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/troubleshooting_tesla_v100.md))
- [Gradient Checkpointing](https://awesome-repositories.com/f/artificial-intelligence-ml/gradient-checkpointing.md) — Implements memory-saving techniques that recompute intermediate activations during backpropagation to reduce VRAM usage.
- [Learning Rate Schedulers](https://awesome-repositories.com/f/artificial-intelligence-ml/learning-rate-schedulers.md) — Provides control over learning rates through various schedulers and optimizer algorithms. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/options.md))
- [Training Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/training-utilities.md) — Ships built-in tools for preparing training data and organizing directories for optimal training. ([source](https://github.com/bmaltais/kohya_ss/blob/master/kohya_gui.py))
- [Training Checkpointers](https://awesome-repositories.com/f/artificial-intelligence-ml/training-checkpointers.md) — Provides mechanisms for saving and resuming model training states to ensure session continuity.
- [Training Progress Monitors](https://awesome-repositories.com/f/artificial-intelligence-ml/training-progress-monitors.md) — Features a GPU-accelerated visualization dashboard for real-time monitoring of training metrics and logs. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docker-compose.yaml))
- [In-Training Sample Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/training-progress-monitors/in-training-sample-generation.md) — Produces sample images using active weights and specific prompts during training to assess progress. ([source](https://github.com/bmaltais/kohya_ss#readme))
- [XPU Accelerators](https://awesome-repositories.com/f/artificial-intelligence-ml/xpu-accelerators.md) — Provides a configuration layer that enables training on Intel GPUs via XPU-accelerated libraries.

### Part of an Awesome List

- [VRAM & Compute Optimization](https://awesome-repositories.com/f/awesome-lists/devtools/gpu-acceleration/vram-compute-optimization.md) — Deno-based balancing of memory usage and processing load via optimizer selection and batch size adjustments. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/troubleshooting_tesla_v100.md))
- [High Resolution Training](https://awesome-repositories.com/f/awesome-lists/ai/model-training-and-fine-tuning/high-resolution-training.md) — Enables fine-tuning of high-resolution generative models using specific resolution settings and network constraints. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/top_level.md))

### Software Engineering & Architecture

- [Web-Based Configuration Dashboards](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-interfaces-and-editors/web-based-configuration-generators/web-based-configuration-dashboards.md) — Provides a browser-based dashboard for managing training settings and configuring model hyperparameters.

### Data & Databases

- [Caption Dataset Utilities](https://awesome-repositories.com/f/data-databases/caption-dataset-utilities.md) — Manages image datasets by organizing them into size-based buckets and handling caption token lengths. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/LoRA/options.md))

### Development Tools & Productivity

- [GPU Device Assignment](https://awesome-repositories.com/f/development-tools-productivity/diagramming-tools/process-and-flow-mapping/process-configuration-mappings/process-to-socket-mappings/gpu-device-assignment.md) — Ships an interface for assigning specific GPU hardware identifiers to the training process. ([source](https://github.com/bmaltais/kohya_ss#readme))

### DevOps & Infrastructure

- [Intel Hardware Acceleration](https://awesome-repositories.com/f/devops-infrastructure/intel-hardware-acceleration.md) — Includes specific environment configurations and support for Intel GPUs via XPU-accelerated libraries. ([source](https://github.com/bmaltais/kohya_ss/blob/master/requirements_ipex_xpu.txt))
- [Resource Allocation](https://awesome-repositories.com/f/devops-infrastructure/resource-allocation.md) — Allows for the allocation of GPU resources and precision levels to maximize compute performance. ([source](https://github.com/bmaltais/kohya_ss/blob/master/config%20example.toml))

### System Administration & Monitoring

- [Compute Environment Toggles](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/performance-resource-management/hardware-performance-management/compute-environment-toggles.md) — Provides toggles to optimize performance across different hardware architectures and compute environments. ([source](https://github.com/bmaltais/kohya_ss/blob/master/docs/Installation/pip_linux.md))
