The `libsycl.so.7` error was caused by an incompatibility with the installed oneAPI version. This commit updates the following packages to their latest versions to resolve the issue:
- intel-extension-for-tensorflow[xpu]
- mkl
- mkl-dpcpp
- oneccl-devel
- impi-devel
Co-authored-by: bmaltais <bernard@ducourier.com>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
- Added and updated comments for better understanding of parameters.
- Improved formatting and alignment for readability.
- Corrected misleading comments regarding `cpu_offload_checkpointing` and the purpose of the final `[dataset_preparation]` section.
- Ensured all key names and TOML structure used by the GUI remain unchanged.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
* Aligned config.toml with gradio elements
* Align Gradio UI elements with config.toml
Ensured that all relevant Gradio UI elements in Dreambooth, Finetune,
LoRA, and Textual Inversion GUIs, along with their supporting classes,
load their default values from `config.toml`.
- Added missing keys to `config example.toml` for newly configurable elements.
- Modified Python files to use `config.get()` for these elements,
preserving original default behaviors if keys are not in `config.toml`.
- Corrected minor inconsistencies in existing `config.get()` usage.
* Update alignment
---------
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Centralize version information by reading it from the `[project.version]`
field in `pyproject.toml` instead of the separate `.release` file.
Changes:
- Modified `kohya_gui.py` to use the `toml` library to parse `pyproject.toml`
and retrieve the version string.
- Added a "v" prefix to the version for display consistency.
- Included a fallback to "vUNKNOWN" if `pyproject.toml` is missing or the
version cannot be read.
- Deleted the now-unused `.release` file.
Note: Full runtime testing was prevented by an out-of-disk-space error
in the test environment when installing dependencies. The core code change
for version sourcing has been implemented as requested.
Removed all usage of the `easygui` library.
- Replaced `easygui.msgbox` calls with Gradio notifications (`gr.Info`, `gr.Warning`, `gr.Error`) to display messages and errors directly in the UI.
- Replaced `easygui.ynbox` and `easygui.boolbox` confirmation dialogs with a default action of proceeding with the operation, accompanied by a notification. This affects:
- Model saving: Will now overwrite existing models by default, notifying the user.
- Dataset balancing: Enabling 'insecure folder renaming' will proceed without a second confirmation, with a warning displayed.
- Manual captioning: Importing tags will overwrite existing quick tags by default, with a notification.
- Removed `easygui` from all Python import statements.
- Removed `easygui` from `requirements.txt` and `pyproject.toml`.
Note: The `uv.lock` file has not been modified as part of this commit. It should be regenerated using the `uv` tool to reflect the dependency changes in `pyproject.toml` and `requirements.txt`.
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>
* 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>
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>
* 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>
* 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>
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.
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.