Config Preservation Feature Request
Closed this issue · 2 comments
Overview
We propose enhancing SimpleTuner's training script to automatically save the config.json training file to the model's output path. This feature aims to preserve crucial training parameters alongside the model checkpoints.
Rationale
Many users download models from cloud services and subsequently delete the training environment. Storing the config.json file with the checkpoints ensures that training parameters are always accessible, providing a complete record of the training process.
Current Situation
The training script already saves several important files in the output path:
- SafeTensor step folders
- Images list
- Text and VAE cache
- Aspect-resolution map
Adding the config.json file would complete this set of essential training artifacts.
Proposed Implementation
Modify the training script to copy the config.json file to the model's output directory.
Implement this action at the beginning of the training process to ensure it's saved even if training is interrupted.
Consider suffixing the copied file (e.g., training_config.json) to avoid potential conflicts with other configuration files. Perhaps with date-time and instance-prompt name, ie config-comixflux-202412312400.json
Benefits
Complete training record: Ensures all critical training information is preserved with the model.
Improved reproducibility: Makes it easier to replicate or adjust training parameters in future sessions.
Enhanced portability: Facilitates easier sharing and understanding of models among users.
Simplified workflow: Eliminates the need for manual config preservation.
Technical Considerations
Ensure the copying process doesn't interfere with the existing training workflow.
Consider implementing a versioning system if multiple training runs are performed on the same model.
We believe this feature will significantly improve the user experience and the overall utility of models trained with SimpleTuner. Your feedback and suggestions on this proposal are welcome.
there is a simpler solution where you don't delete the training environment without saving the config.
it already allows you to use subfolders for organising configs.
putting it into the output dir means it will be published to the hub automatically etc, which isn't what a lot of users want. it may contain secrets or internal information that users do not want put into the output dir.
the output dir contains output from the trainer, but the config is an input. manage inputs separately.
Cool makes sense. I will think of it differently then