- Update base image from Debian 11 (bullseye) to Debian 12 (bookworm)
- Upgrade CUDA version from 12.4 to 12.8
- Update PyTorch from version 2.5.1 to 2.7.0 with CUDA 12.8 support
- Change triton dependency from exact version 3.1.0 to minimum version constraint
Signed-off-by: CHEN, CHUN <jim60105@gmail.com>
- Upgrade base image from Python 3.10 to Python 3.11 slim on Debian Bullseye.
- Replace manual PyTorch and dependencies installation with uv environment management and installation.
- Add installation of large dependencies (torch, triton, tensorflow, onnxruntime-gpu) explicitly to optimize image layer caching.
- Switch from pip to uv for package management and dependency synchronization.
- Replace pillow with pillow-simd on amd64 architecture using uv-managed pip for performance improvements.
- Adjust environment variables to use the virtual environment under /venv instead of local user installs.
- Create /venv directory with appropriate permissions and copy the virtual environment from build stage.
- Modify CMD to add --noverify flag when launching kohya_gui.py.
- Remove requirements_linux_docker.txt file, consolidating dependency management into uv and pyproject.toml.
Signed-off-by: CHEN, CHUN <jim60105@gmail.com>
- Implemented rich logging in Dockerfile and set FORCE_COLOR environment variable to true
- Set the COLUMNS environment variable to `100` in Dockerfile for wider output
- Replaced single quotes with double quotes for `device_ids` value in docker-compose.yaml
Signed-off-by: 陳鈞 <jim60105@gmail.com>
- The Dockerfile no longer installs TensorFlow, only PyTorch
- The TensorBoard exposure port has been removed from the Dockerfile
- A new tensorboard service has been added to the docker-compose.yaml file, utilizing the TensorFlow:latest-gpu image and exposing port 6006.
- The requirements_linux_docker.txt file has the tensorboard and tensorflow requirements commented out.
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* chore(docker): enhance build process with apt caching
- Cache `apt-get` update in Docker build to speed up subsequent builds
- Avoid cleaning `apt-get` cache and removing /var/lib/apt/lists/* after each install to take advantage of caching
- Add arguments for TARGETARCH and TARGETVARIANT
- Utilize cache mounting for pillow-simd installation in x86 platform
- Remove manual cleaning of `apt-get` and `/var/lib/apt/lists/*` after installing runtime dependencies
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* chore(docker): Fix bitsandbytes can't find cuda
- Set work directory to /tmp
- Defined several environment variables for CUDA version 12.1.1
- Install the CUDA keyring
- Added a process for partial installation of CUDA to minimize Docker image size
- Added /usr/local/cuda/lib and /usr/local/cuda/lib64 to PATH and LD_LIBRARY_PATH environment variables
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* chore(docker): add `--headless` in the Dockerfile
- Add `--headless` option to the execution command of `kohya_gui.py` in the Dockerfile
Signed-off-by: 陳鈞 <jim60105@gmail.com>
---------
Signed-off-by: 陳鈞 <jim60105@gmail.com>
- Remove Docker LABEL related metadata and ARG for UID, VERSION, RELEASE from the beginning of the Dockerfile.
- Add NVIDIA environment settings to make visible devices and driver capabilities available.
- Add ARG UID back and modify user creation command accordingly.
- Make use of hard links (with `--link`) for license and code copy commands to optimize use of space.
- Reposition WORKDIR and ARG declarations for VERSION and RELEASE towards the end of the Dockerfile.
- Attach metadata labels like name, vendor, url, version, release, display name, summary, and description at the end of the Dockerfile, instead of the beginning.
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* Remove library folder, update setup_windows
* Cleanup sd-scripts files
* set sd-scripts release via file
* More cleanup
* Point to sd-scripts python files
* Fix blip captioning working directory
* Fix typo
* Fix issue with verify lora
* Improve git cloning of sd-scripts repo
* Integrate cloning in linux setup script
* Remove unnecessary folder
* Update linux setup
* Removing unnecessary code
* Fix validation issue under linux
* Update tensorboard version linux
* Updating linux requirements
* Update README
* Added submodule for sd-scripts
* Update for proper submodule handling
* Simplify submodule init
* Update comment
* Improve WSL2 LD_LIBRARY_PATH handling
* Update tensorboard handling of logging_dir
* chore(docker): update TensorFlow and TensorBoard versions
- Upgrade TensorFlow version in Dockerfile and requirements to 2.15.0.post1
- Update TensorBoard version in requirements to 2.15.2
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* chore(docker): Add a mount for `sd-scripts` in the Dockerfile during pip install
- Add a mount step for `sd-scripts` in the Dockerfile during pip install.
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* doc(docker): Update readme about docker
* Fix issue with TE LR
* Fix issue with TE LR
* Update sd-scripts to Feb 27 2024 commit
* Update version of bnb for windows
* Update windows setup
* Update windows setup
* Update bnb linux to match windows
* remove height:auto
* update UI
* unify Quick Pick + custom model selection into gr.Dropdown()
* add list_dirs(), list_files()
* use gr.Accordion()
* always show model + training image folder + output name + minimal default settings
* do not show hidden files
* clean up list_*()
* use PYTHONPATH env variable
* add "tool" classname to gr.Button() for sd-webui compatible
* update *_caption_gui.py using create_refresh_buttons()
* update Utilities->Group Images
* update Utilities->Convert model
* update dataset gui
* update Dreambooth/LoRA folders preparation
* update *lora*_gui UI using list_files(), create_refresh_button()
* more fixes for PYTHONPATH
* Minor edits to basic caption and common gui
* Optimising some code
* Fix path issue
* Fix issues with list_images_dir
* Update finetuning image folder label
* Minor updates to UI
---------
Signed-off-by: 陳鈞 <jim60105@gmail.com>
Co-authored-by: 陳鈞 <jim60105@gmail.com>
Co-authored-by: Won-Kyu Park <wkpark@gmail.com>
- Switch to a slim variant of the Python 3.10 Docker image for the build stage.
- Introduce a conditional installation of `pillow-simd` replacing `pillow`, specific to x86 architecture.
- Add required dependencies for `pillow-simd` installation, along with cleanup commands to remove unnecessary package lists after installation.
- Update runtime dependencies by adding `libtcl8.6` and `libtk8.6` to the final Docker image.
Signed-off-by: 陳鈞 <jim60105@gmail.com>
- Change the base image from `python:3.10` to `python:3.10-slim`
- Expose ports `7860` and `6006` in the Dockerfile
Signed-off-by: 陳鈞 <jim60105@gmail.com>
* Refactor setup in setup folder
* More refactoring
* Remove need to run setup.sh as sudo
* Fix for unix undel python 3.8
* Create setup_common.py
* Fix windows setup
* Refining setup
---------
Co-authored-by: Your Name <you@example.com>