Awesome
<!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --><a name="readme-top"></a>
<!-- *** Thanks for checking out the Best-README-Template. If you have a suggestion *** that would make this better, please fork the repo and create a pull request *** or simply open an issue with the tag "enhancement". *** Don't forget to give the project a star! *** Thanks again! Now go create something AMAZING! :D --> <!-- *** I'm using markdown "reference style" links for readability. *** Reference links are enclosed in brackets [ ] instead of parentheses ( ). *** See the bottom of this document for the declaration of the reference variables *** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. *** https://www.markdownguide.org/basic-syntax/#reference-style-links --> <br /> <div align="center">To continue to develop i will be happy to get some support.
<!-- [![](media/svg/buymeacoffee.svg)](https://www.buymeacoffee.com/disty) [![](media/svg/kofi.svg)](https://ko-fi.com/disty) [![](media/svg/supportme.svg)](https://coindrop.to/disty) --> <h1 align="center">Safe & Stable - Ckpt2Safetensors Conversion Tool-GUI</h1> <h3 align="center"> Convert your Stable Diffusion checkpoints quickly and easily.</h3> <p align="center"> This tool conversion process still requires the .ckpt data to be loaded first, which means that it may potentially load pickles. It is recommended to use this tool only with safe models or convert the models online to avoid any potential security issues. <br /> <br /> <a href="https://github.com/diStyApps/Safe-and-Stable-Ckpt2Safetensors-Conversion-Tool-GUI/issues">Report Bug</a> · <a href="https://github.com/diStyApps/Safe-and-Stable-Ckpt2Safetensors-Conversion-Tool-GUI/issues">Request Feature</a> </p> </div> <!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li> <a href="#about-the-project">About The Project</a> </li> <li><a href="#license">License</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contact">Contact</a></li> <li><a href="#my-other-projects">My Other Projects</a></li> <li><a href="#acknowledgments">Acknowledgments</a></li> </ol> </details> <!-- Update -->Update
Version 0.1.1
I am happy to share the release of version 0.1.1 of Safe-and-Stable-Ckpt2Safetensors-Conversion-Tool-GUI
This version includes the following new features and improvements:
- Support for converting back to ckpt. now you can convert safetensors to ckpt and vice versa.
- A file explorer for easier conversion.
- The option to add a suffix to the output file, allowing users to keep the original file.
- A hash check for files, displaying the first 8 characters of the hash.
Please note that converting a ckpt file to a safetensors file will change the hash of the file due the structure change of the file.
However, when converting back and forth between ckpt and safetensors, the hash will remain consistent.
For example, an original ckpt file with the hash "ccf3615f" will be converted to a safetensors file with the hash "0248da5c", and back to a ckpt file with the hash "68ed20ac". Both hashes will remain consistent between the two file formats.
Please consider donating to the project if you find it useful,so that I can maintain and improve this tool and other projects.
I hope you find these new features and improvements useful. As always, i welcome your feedback and suggestions.
Thank you for using my project.
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- ABOUT THE PROJECT -->About The Project
Safe & Stable is a tool for converting stable diffusion .ckpt files to the new and secure .safetensors format for storing tensors as pure data.
This format provides improved security compared to the pickle format, as it prevents the inclusion of arbitrary and potentially malicious Python code. It also has the potential to improve the performance of model loading on CPU and GPU.
Converting to .safetensors is recommended for stable diffusion users who want to improve the security and performance of their model storage and loading processes. It is especially useful for when distributing new models and merges.
<img src="media/preview/1_0.1.0.png">The tool's graphical user interface (GUI) makes it easy for users to select the input files, view the progress of the conversion saving process.
<img src="media/preview/6_0.1.0.png"> <img src="media/preview/4_0.1.0.png">Note that the conversion process still requires the .ckpt data to be loaded first, which means potentially loading pickles. It is recommended to scan for pickles before converting a model or convert online if no .safetensors version is provided. Once models start being distributed only in .safetensors format, this will no longer be necessary.
It is important to always check if the model works correctly before deleting the original .ckpt file.
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- Downloads -->Downloads
Archived version (Windows) 7z
Archived version (Windows) Zip
Linux Installation (tested on python 3.8.10)
- git clone this repo
- cd into the repo
- python3.8 -m venv venv
- ./venv/bin/activate
- pip install -r requirements.txt
- python run_app_gui.py
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Roadmap
The roadmap for the Safe & Stable conversion tool will be determined by the level of support. and interest it receives.
If the tool proves to be useful, i have plans to continue improving its features and functionality, and to add support for new model formats and versions.
Thank you for any support.
See the open issues for a full list of proposed features (and known issues).
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- CONTACT -->Contact
Project Link: https://github.com/diStyApps/Safe-and-Stable-Ckpt2Safetensors-Conversion-Tool-GUI
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- MY OTHER PROJECTS -->My Other Projects
Project Link: https://github.com/diStyApps/Stable-Diffusion-Pickle-Scanner-GUI
<p align="right">(<a href="#readme-top">back to top</a>)</p> <!-- ACKNOWLEDGMENTS -->