Commit Graph

3370 Commits (aa6526d13a13c6b99ca169b74252b11921e47e9a)

Author SHA1 Message Date
bmaltais aa6526d13a Update release 2025-06-23 08:35:07 -04:00
bmaltais b48c86cbff
python3.11 support
The script will now detect and utilize Python 3.11 alongside Python 3.10.

Here are the key changes:
- I added a function to detect the available Python command, prioritizing python3.11, then python3.10, then python3.
- I modified virtual environment creation to use the detected Python version.
- I updated macOS Homebrew installation logic to check for python@3.11 and python-tk@3.11 first.
- I made Python-version-specific paths (e.g., for site-packages and symlinks, especially in Runpod environments) dynamic to adapt to the selected Python version.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-20 07:30:38 -04:00
bmaltais dcef66a001 Update lock file 2025-06-19 19:54:20 -04:00
bmaltais 6c05e32070 Fix bad commit 2025-06-19 19:53:15 -04:00
bmaltais e9be00a193 Update requirements 2025-06-19 19:52:10 -04:00
bmaltais 23b70c8f16
Core improvements batch1 (#3294)
* Refactor and Improve Core Components

This commit includes several improvements to the core components of the Kohya_ss GUI:

1.  **Refactored `check_torch()` in `setup/setup_common.py`**:
    *   Broke down the function into smaller, more focused functions for better readability and maintainability.
    *   Simplified the logic for detecting different hardware backends (CUDA, ROCm, Intel OneAPI).

2.  **Improved Error Handling in `setup/setup_common.py`**:
    *   Made error messages more user-friendly and informative by providing context and suggestions.
    *   Ensured consistent logging of errors.
    *   Enhanced error reporting for external processes like Git and pip/uv.

3.  **Enhanced Documentation for `config.toml`**:
    *   Updated the "Custom Path Defaults" section in `README.md` with more details on customizing `config.toml`.
    *   Provided clearer examples of common configurations.

4.  **Reviewed and Updated Dependencies**:
    *   Removed several unused dependencies from `pyproject.toml` (`altair`, `fairscale`, `imagesize`, `invisible-watermark`, `pytorch-lightning`, `voluptuous`).
    *   Updated various dependencies to their latest stable and compatible versions.

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-19 08:07:05 -04:00
bmaltais d85ae6bdb5
It looks like the setup.sh and gui.sh scripts were incorrectly defaulting to ROCm package installation if `rocminfo` was present, even on systems with NVIDIA GPUs. (#3293)
I've modified both scripts to check for `nvidia-smi` first. If `nvidia-smi` is found, the scripts will now use the NVIDIA-specific (CUDA) requirements files, regardless of the presence of `rocminfo`. The ROCm check is now a fallback if `nvidia-smi` is not detected.

This should ensure that you get the correct PyTorch build and dependencies if you have an NVIDIA GPU, resolving the issue where ROCm packages were being erroneously selected.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-18 19:52:40 -04:00
bmaltais 8a81733794 Revert "feat: Remember last used folder for file dialogs (#3290)"
This reverts commit 51d87f5309.
2025-06-17 10:07:04 -04:00
bmaltais 51d87f5309
feat: Remember last used folder for file dialogs (#3290)
* feat: Remember last used folder for file dialogs

This commit introduces a feature to remember the last used folder for various file and folder dialogs within the GUI.

Key changes:

- Modified `KohyaSSGUIConfig` (`kohya_gui/class_gui_config.py`) to store and retrieve a `last_used_folder` value in the `config.toml` file.
- Updated file/folder dialog utility functions in `kohya_gui/common_gui.py` (e.g., `get_folder_path`, `get_file_path`, `get_saveasfilename_path`) to:
    - Accept the `KohyaSSGUIConfig` instance.
    - Use the stored `last_used_folder` as the initial directory for dialogs.
    - Update `last_used_folder` after a successful selection.
- Updated various GUI modules (`class_folders.py`, `wd14_caption_gui.py`, and other captioning utilities) to pass the `KohyaSSGUIConfig` instance to these dialog functions.

This enhancement improves your experience by defaulting file dialogs to the most recently accessed relevant directory, streamlining the workflow for you when you frequently work with specific folders.

* Fix typo

* Fix typos

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-16 07:39:29 -04:00
bmaltais 060c58a319
Docs python version uv (#3289)
* Docs: Explain .python-version file for uv installs

I've updated the Linux and Windows uv installation guides to explain that you can specify the Python version for the uv environment by editing the .python-version file at the root of the repository.

* Update linux documentation

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-16 07:28:39 -04:00
bmaltais a06a69030a Ignore .python-version changes 2025-06-16 07:11:31 -04:00
bmaltais 6357ce868b Update python verstion to 3.11 2025-06-16 07:10:02 -04:00
bmaltais ef9c32371f
Merge pull request #3287 from niels-numbers/master
Refactor Installation Docs: Extract per-platform instructions to dedicated .md files (follow-up to #3278)
2025-06-15 18:54:51 -04:00
Dr. Adam Niels Nielsen fbc17f9c82
Merge branch 'bmaltais:master' into master 2025-06-15 23:19:21 +02:00
Adam Nielsen 57ec255a1f docs: extract pip/uv installation guides to OS-specific markdown files and update main README 2025-06-15 23:16:52 +02:00
bmaltais 850c1a9c49
Merge pull request #3285 from bmaltais/dev
v25.2.0
2025-06-15 10:24:56 -04:00
bmaltais 8dfa947c49 Merge branch 'dev' of https://github.com/bmaltais/kohya_ss into dev 2025-06-15 10:23:30 -04:00
bmaltais 451f84d4ae Update release number 2025-06-15 10:23:04 -04:00
bmaltais 6ca6ecd7bd
Merge pull request #3280 from Disty0/dev
Update IPEX and ROCm
2025-06-14 14:04:16 -04:00
Disty0 1538a51e68 Cleanup 2025-06-13 20:31:42 +03:00
Disty0 df35d93289 Update IPEX and ROCm 2025-06-13 20:17:05 +03:00
bmaltais c736aec1f7
Merge pull request #3278 from niels-numbers/master
Improve README installation section for clarity and easier uv-based setup
2025-06-11 21:18:42 -04:00
Adam Nielsen c083029023 Refactor Installation Section for Clarity and Easier uv-Based Setup 2025-06-12 00:30:22 +02:00
bmaltais ed2ef9aa0f
Merge pull request #3274 from bmaltais/add-conda-instructions
Add Conda installation instructions to README
2025-06-05 15:05:28 -04:00
google-labs-jules[bot] 873f571ebb Add Conda installation instructions for Windows to README
This commit updates the README.md file to include Windows-specific
instructions for setting up the project using a Conda environment.

The "Using `conda`" subsection under "Installation Methods" now clarifies:
- `chmod +x` commands are not needed for Windows.
- Windows users should use `setup.bat` and `gui.bat` (or `gui.ps1`)
  instead of the `.sh` scripts.

The Table of Contents was previously updated to include the "Using `conda`"
section.
2025-06-05 19:04:42 +00:00
google-labs-jules[bot] 926625703d Add Conda installation instructions to README
This commit adds a new section to the README.md file detailing how to set up the project using a Conda environment.

The new "Using `conda`" subsection under "Installation Methods" includes:
- Commands to create and activate a Conda environment with Python 3.11.
- Instructions on how to make the setup and GUI scripts executable and how to run them.

The Table of Contents has also been updated to reflect this new section.
2025-06-05 19:00:22 +00:00
bmaltais e23cd3e7a4
Merge pull request #3273 from ThanaritKanjanametawatAU/master
Add support for already activated conda environment setup
2025-06-05 14:56:56 -04:00
bmaltais ffc45e579e Update sd-scripts 2025-06-05 14:29:02 -04:00
Thanarit 271bcb3bd9 Modify the GUI script to check for and handle conda env 2025-06-06 00:33:16 +07:00
Thanarit 46a21899da Add support for already activated conda environment setup 2025-06-06 00:14:22 +07:00
bmaltais 08f2ddcf82
Merge pull request #3266 from jim60105/fix/typo
fix(validate_requirements): correct typo
2025-06-02 19:49:38 -04:00
CHEN, CHUN ae0f3dbf46
fix(validate_requirements): correct typo
- Fixes a typo in the variable name and log message from "reccomended" to the correct "recommended" when logging Apple MPS memory information.

Signed-off-by: CHEN, CHUN <jim60105@gmail.com>
2025-06-02 19:39:03 +08:00
bmaltais 40556e9397
Merge pull request #3265 from bmaltais/fix/default-config-dialog-path
Fix: Default config file dialog to repo root
2025-06-01 13:56:50 -04:00
google-labs-jules[bot] 4ef34d9f5f Fix: Default config file dialog to repo root
Modified the get_file_path function in kohya_gui/common_gui.py
to ensure that when you are opening a configuration file, the
file dialog defaults to the kohya_ss repository root if no
initial path or only a filename is provided.

If a full or relative path is already present in the input field,
the dialog will open in the specified directory as before.

This change improves your experience by starting the file search
in a more relevant location.
2025-06-01 17:54:27 +00:00
google-labs-jules[bot] 69d8b96c1c Feat: Add logging for effective learning rates in LoRA GUI
This commit introduces a helper function, `get_effective_lr_messages`, into `kohya_gui/lora_gui.py` and integrates it into the `train_model` function.

The purpose is to provide you with clearer information about how the learning rates set in the GUI (Main LR, Text Encoder LR, U-Net LR, T5XXL LR) will be interpreted and effectively applied by the underlying `sd-scripts` training engine.

Before training commences, the GUI will now log:
- The Main LR.
- The effective LR for the primary Text Encoder (CLIP), indicating if it's a specific value or a fallback to the Main LR.
- The effective LR for the T5XXL Text Encoder (if applicable), indicating its source (specific, inherited from primary TE, or fallback to Main LR).
- The effective LR for the U-Net, indicating if it's a specific value or a fallback to the Main LR.

This enhances transparency by helping you understand how your LR settings interact, without modifying the `sd-scripts` submodule.
2025-06-01 13:59:07 +00:00
google-labs-jules[bot] d63a7fa2b6 Refactor: Clean up LR handling logic in LoRA GUI
This commit refactors the learning rate (LR) handling in `kohya_gui/lora_gui.py` for LoRA training.

The previous fix for LR misinterpretation involved commenting out a line. This commit completes the cleanup by:
- Removing the `do_not_set_learning_rate` variable and its associated conditional logic, which became redundant.
- Renaming the float-converted `learning_rate` to `learning_rate_float` for clarity.
- Ensuring that `learning_rate_float` and the float-converted `unet_lr_float` are consistently used when preparing the `config_toml_data` for the training script.

This makes the code cleaner and the intent of always passing the main learning rate (along with specific TE/UNet LRs) more direct. The functional behavior of the LR fix remains the same.
2025-06-01 12:29:08 +00:00
google-labs-jules[bot] 3a8b599ba9 Fix: Ensure main learning rate is used in LoRA training
The GUI logic was preventing the main learning rate from being passed to the training script if text_encoder_lr or unet_lr was set. This caused issues with optimizers like Prodigy, which might default to a very small LR if the main LR isn't provided.

This commit modifies kohya_gui/lora_gui.py to ensure the main learning_rate is always included in the parameters passed to the training script, allowing optimizers to use your specified main LR, TE LR, and UNet LR correctly.
2025-06-01 11:31:14 +00:00
bmaltais 1a0ee43ec8
Merge pull request #3263 from bmaltais/dependabot/github_actions/crate-ci/typos-1.32.0
Bump crate-ci/typos from 1.31.2 to 1.32.0
2025-06-01 06:57:26 -04:00
dependabot[bot] c5f12e83ef
Bump crate-ci/typos from 1.31.2 to 1.32.0
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.31.2 to 1.32.0.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.31.2...v1.32.0)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-01 05:40:31 +00:00
bmaltais 932dbaae57 Merge branch 'lora' into dev 2025-05-27 08:47:58 -04:00
bmaltais c0be9f70da Cleanup files 2025-05-27 08:47:38 -04:00
bmaltais 992f3e7d55 Merge branch 'dev' 2025-05-26 21:37:50 -04:00
bmaltais d9c30a7176 Update release 2025-05-26 21:37:04 -04:00
bmaltais 66c159296e Merge branch 'dev' 2025-05-26 21:33:22 -04:00
bmaltais 8707d5ff24 Fix requirements issues 2025-05-26 21:33:06 -04:00
bmaltais 5264f5f6fe Update accelerate 2025-05-26 21:02:15 -04:00
bmaltais e6adcc355a Revert change 2025-05-26 20:58:30 -04:00
bmaltais e980bd555d Update accelerate 2025-05-26 20:32:46 -04:00
bmaltais ebcd203a82 Install cu128 for all 2025-05-26 20:18:59 -04:00
bmaltais 8c8f15b1ad Update uv requirements 2025-05-26 20:11:52 -04:00