kohya_ss/docs/Installation/uv_linux.md

144 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Linux Installation (uv method)
Recommended setup for most Linux users.
If you have macOS please use **pip method**.
## Table of Contents
- [Linux Installation (uv method)](#linux--installation-uv-method)
- [Table of Contents](#table-of-contents)
- [Prerequisites](#prerequisites)
- [Installation Steps](#installation-steps)
- [Clone the Repository](#clone-the-repository)
- [Start the GUI](#start-the-gui)
- [Available CLI Options](#available-cli-options)
- [Upgrade Instructions](#upgrade-instructions)
- [Optional: Install Location Details](#optional-install-location-details)
## Prerequisites
- **Python 3.10.9** (or higher, but below 3.13)
> [!NOTE]
> The `uv` environment will use the Python version specified in the `.python-version` file at the root of the repository. You can edit this file to change the Python version used by `uv`.
- **Git** Required for cloning the repository
- **NVIDIA CUDA Toolkit 12.8**
- **NVIDIA GPU** Required for training; VRAM needs vary
- **(Optional) NVIDIA cuDNN** Improves training speed and batch size
## Installation Steps
1. Install Python (Make sure you have Python version 3.10.9 or higher (but lower than 3.11.0) installed on your system.)
On Ubuntu 22.04 or later:
```bash
sudo apt update
sudo apt install python3.11 python3.11-venv git
```
2. Install [CUDA 12.8 Toolkit](https://developer.nvidia.com/cuda-12-8-0-download-archive?target_os=Linux&target_arch=x86_64)
Follow the instructions for your distribution.
> [!NOTE]
> macOS is only supported via the **pip method**.
> CUDA is usually not required and may not be compatible with Apple Silicon GPUs.
## Clone the Repository
To install the project, you must first clone the repository **with submodules**:
```bash
git clone --recursive https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
```
> The `--recursive` flag ensures that all required Git submodules are also cloned.
Run:
```bash
./gui-uv.sh
```
## Start the GUI
To launch the GUI service, run `./gui-uv.sh` or run the `kohya_gui.py` script directly. Use the command line arguments listed below to configure the underlying service.
### Available CLI Options
```text
--help show this help message and exit
--config CONFIG Path to the toml config file for interface defaults
--debug Debug on
--listen LISTEN IP to listen on for connections to Gradio
--username USERNAME Username for authentication
--password PASSWORD Password for authentication
--server_port SERVER_PORT
Port to run the server listener on
--inbrowser Open in browser
--share Share the gradio UI
--headless Is the server headless
--language LANGUAGE Set custom language
--use-ipex Use IPEX environment
--use-rocm Use ROCm environment
--do_not_use_shell Enforce not to use shell=True when running external commands
--do_not_share Do not share the gradio UI
--requirements REQUIREMENTS
requirements file to use for validation
--root_path ROOT_PATH
`root_path` for Gradio to enable reverse proxy support. e.g. /kohya_ss
--noverify Disable requirements verification
```
When you run `gui-uv.sh`, it will first check if `uv` is installed on your system. If `uv` is not found, the script will prompt you, asking if you'd like to attempt an automatic installation. You can choose 'Y' (or 'y') to let the script try to install `uv` for you, or 'N' (or 'n') to cancel. If you cancel, you'll need to install `uv` manually from [https://astral.sh/uv](https://astral.sh/uv) before running `gui-uv.sh` again.
```shell
./gui-uv.sh --listen 127.0.0.1 --server_port 7860 --inbrowser --share
```
If you are running on a headless server, use:
```shell
./gui-uv.sh --headless --listen 127.0.0.1 --server_port 7860 --inbrowser --share
```
This script utilizes the `uv` managed environment.
## Upgrade Instructions
To upgrade your installation to a new version, follow the instructions below.
1. Open a terminal and navigate to the root directory of the project.
2. Pull the latest changes from the repository:
```bash
git pull
```
3. Updates to the Python environment are handled automatically when you next run the `gui-uv.sh` script. No separate setup script execution is needed.
## Optional: Install Location Details
On Linux, the setup script will install in the current directory if possible.
If that fails:
- Fallback: `/opt/kohya_ss`
- If not writable: `$HOME/kohya_ss`
- If all fail: stays in the current directory
To override the location, use:
```bash
./setup.sh -d /your/custom/path
```
On macOS, the behavior is similar but defaults to `$HOME/kohya_ss`.
If you use interactive mode, the default Accelerate values are:
- Machine: `This machine`
- Compute: `None`
- Others: `No`