Releases: skier233/nsfw_ai_model_server
2.0 Major Upgrades
Upgrade Steps from a previous version:
Run update.sh/ps1
Run install.sh/ps1
Changes:
Stash Plugin Changes:
- When using the stash dev version (or when a version > 0.27.2 releases), markers in stash now have end timestamps allowing you to see the duration a tag is present in a video instead of just when it starts.
- I have found this option to be incredibly useful and makes using markers much more enjoyable and I'd recommend trying it out.
- Added a new option where you can add the AI_Incorrect tag to images or scene markers and then run the Collect Incorrect Markers and Images task in stash which will generate a zip file of images where the AI is struggling which you can send me to improve the AI models
- Added a Find Marker Settings task in Stash that allows tuning of the marker generation system settings
- Multithreaded fixes
AI Server Changes:
- Created an enhanced marker/timespan generation system that generates less than half the markers/timespans the old system would while being 32% more accurate with the timespans it generates
- Added easy UI for selecting which AI models are currently active
- Added dynamic model skipping to skip models that aren't needed (of the active ai models) if a video has already been processed by that model
- Added conda install scripts for easier first install
- Improved the json files that store the raw results from the AI server which significantly reduces when the AI has to reprocess a video.
- Moved tag_mappings.csv from the stash plugin into the AI Server itself
- Only the AI tags that are actually used will be created in stash
- Other applications besides the stash plugin can easily get the data that the stash plugin was using without rewriting code from the Stash plugin
- New AI model releases no longer need an update of the Stash plugin
- Added more debug logging throughout the whole server to give more info when errors arise
- Added capability to have models that use more than one category
- Moved all video and image preprocessing code to open source
- Added a marker/timespan generation engine into the AI Server allow customizable different systems to be swapped out
Major Version Upgrades, Model Optimizations
IMPORTANT: After upgrading to this version from a previous version, you may need to run start.ps1
/start.sh
after running the upgrade script due to a bug with upgrades in conda.
Changes:
- Update Python to 3.12
- Update Pytorch to 2.4
- Update Cuda to 12.4
- Optimization to prefer batch sizes of 8 when possible leading to significant performance increases
- Optimization to fill batches to the max batch size, significantly increasing performance especially after server startup and initial model runs
- Add optimization to use multiple different models at once without running out of GPU VRAM
Fully Open Source Free Model and model accuracy improvements
- Adds a fully open source free self hosted model with no closed source code for the free model
- Improves the video and image preprocessing code to slightly improve AI accuracy on all existing AI models
Add Semi-Autonomous Headless/Docker Licensing
- Adds the ability to get a license directly from the licensing server for headless cliensts/docker that cannot open a web browser.
Automatic model configuration based on detected GPU
- Automatically detect the available GPU and tune the model parameters to the capabilities of that GPU
- Configurable port for the ai server
- Update scripts no longer will overwrite the config.yaml file. VIP users may want to swap back to the magiclake pipeline in this config file if it got overwritten in a previous release.
Docker Support
This release adds docker container support.
There is a nonzero chance you could hit issues with this setup as it is not nearly tested as the conda setup so if so just reach out and I'll help.
Improve installation and upgrade process
1.3.2 Update installation instructions
Critical Fix for issue caused by Pytorch
Pytorch developers released a new version of Pytorch with the same version number as their previous release that was broken. This would make new installations and upgrades of the conda environment fail. This release fixes that issue and adds a few other fixes and improvements:
- Add VR video support
- Fix an issue for videos with strange framerates getting results not correctly synced with video timestamps
- Better error handling
- Add endpoints to get server pipeline config info
Automated licensing, stability improvements, prep for markers
NOTE: For users upgrading to this release, you will likely need to delete your license file in your models folder, run update.sh/.ps1, and get a new license by running the server. This is now an automated process in most cases.
Changes:
- Fix several potential memory leaks
- Add support to pass threshold, frame_interval, and whether to return confidence scores to the client
- Return more info about the config used for the predictions to the client (will be useful for stash marker support)
- Fixed an issue that would cause license files to stop working
- Automated licensing process
- Better error handling in some cases
General server improvements
- Proper logging with colored log messages by severity and severity option in config file. Logs get stored to log files.
- Pipeline versioning and added info to api return calls to be able to see the pipeline version and short name that returned the results (BREAKING)
- Improved error handling
- Added capability to return timestamps instead of frame indexes for videos (new default)