v24.0.1
2024/04/17 (v24.0.1)
Enhancements
- User Interface: Transitioned the GUI to use a TOML file for argument passing to sd-scripts, significantly enhancing security by eliminating the need for command-line interface (CLI) use for sensitive data.
- Training Tools: Improved the training and TensorBoard buttons to provide a more intuitive user experience.
- HuggingFace Integration: Integrated a HuggingFace section in all trainer tabs, enabling authentication and use of HuggingFace's advanced AI models.
- Gradio Upgrade: Upgraded Gradio to version 4.20.0 to fix a previously identified bug impacting the runpod platform.
- Metadata Support: Added functionality for metadata capture within the GUI.
Security and Stability
- Code Refactoring: Extensively rewrote the code to address various security vulnerabilities, including removing the
shell=True
parameter from process calls. - Scheduler Update: Disabled LR Warmup when using the Constant LR Scheduler to prevent traceback errors associated with sd-scripts.
Shell Execution
- Conditional Shell Usage: Added support for optional shell usage when executing external sd-scripts commands, tailored to meet specific platform needs and recent security updates.
The gui.bat
and gui.sh
scripts now include the --do_not_use_shell
argument to prevent shell execution (shell=True
) during external process handling. Unix-like systems automatically set use_shell
to True internally, as required for proper execution of external commands. To enforce disabling shell execution, use the --do_not_use_shell
argument.
- How to Enable Shell Execution via Config File:
- In the
config.toml
file, setuse_shell
totrue
to enable shell usage as per GUI startup settings.
Note: The--do_not_use_shell
option will override theconfig.toml
settings, settinguse_shell
to False even if it is set to True in the config file.
- In the
Miscellaneous
- Made various other minor improvements and bug fixes to enhance overall functionality and user experience.
What's Changed
- Improve training and tensorboard buttons and code by @bmaltais in #2268
- Revert "Improve training and tensorboard buttons and code" by @bmaltais in #2269
- Improve training and tensorboard buttons and code by @bmaltais in #2270
- Fix accelerate issue on linux by @bmaltais in #2281
- Implement LR Warmup disabling when constant scheduler is used by @bmaltais in #2292
- Add support for metadata parameters by @bmaltais in #2295
- Implement use_shell as parameter by @bmaltais in #2297
- Improve process execution under Linux (and windows) by @bmaltais in #2301
Full Changelog: v22.1.5...v24.0.0