v0.2.0 ====== This is the initial release of this repository which hosts integration documentation, examples and code related to integrating xaitk-saliency components with the JATIC needs and use-cases. This first release defines an xaitk-jatic package that is currently a placeholder for future functionality, as well as a few initial example jupyter notebooks. Each notebook explains how to integrate a particular platform (HuggingFace, MLFlow, or PyTorchLightning) with the xaitk-saliency API to generate saliency maps while utlizing the tools and functionality which that platform provides. Updates / New Features ---------------------- CI/CD * Add python3.12 to test matrix * Major overhaul of pipeline to improve efficiency and ``yml`` readability. * A second major overhaul to match ``nrtk`` caching. * Create MR-specific environments for documentation preview. * Refactored package into ``src/xaitk_jatic`` instead of ``xaitk_jatic``. * Linted the code base to pass pre-commit hooks. Docs * Added initial sphinx-based documentation infrastructure, including these release notes. * Updated the README with more detailed description and usage of the package including branch/merge/release strategy as well as listing points of contact (POCs). * Added the beginning of documents to detail reflections and lessons learned when working the use of xaitk-saliency with those platforms. * Added PyTorch Lightning reflections, especially concerning scalability. * Added MLFlow reflections. * Added reflections on applying the JATIC object detection protocol to xaitk-saliency. * Added reference to original XAITK documentation. * Added ability to render documentation on Gitlab Pages. * Added sphinx auto documentation for JATIC object detection and image classification protocol adapters. * Updated documents to reflect new refactor. * Added a section to the README about using the pre-commit hooks. Examples * Added an example notebook for integrating the use of HuggingFace with xaitk-saliency. * Added an example notebook for integrating the use of MLFlow with xaitk-saliency. * Added an example notebook with strategies for integrating the use of PyTorch Lightning with xaitk-saliency. An additional notebook benchmarking these strategies was also added. * Added an example notebook demonstrating using the JATIC protocol-based detector with xaitk-saliency. * Added an example notebook demonstrating using the JATIC protocol-based image classifier with xaitk-saliency. * Added an example notebook for integrating the use of Gradio with xaitk-saliency. * Added a demo notebook for increment 0 work exploring the JATIC object detector protocol, trame GUI, and other increment 0 progress. * Added an example notebook demonstrating model comparison with Gradio and xaitk-saliency. * Added an example notebook for integrating the use of HuggingFace Accelerate with xaitk-saliency. An additional notebook benchmarking this strategy was also added. * Added a demo notebook for increment 1 work exploring the tracking of model, dataset and saliency map parameters using MLFlow. * Added an example notebook exploring image perturbations and the effect on saliency maps using JATIC's augmentation protocol. * Added an example notebook for testing the interoperability of xaitk-saliency with TwoSix's armory tool. * Added an example notebook for integrating the use of Shared Interest with xaitk-saliency. * Update README.md Interoperability * Added ``DetectImageObjects`` implementation, ``JATICDetector``, to allow for interoperability with object detectors following the ``ObjectDetector`` protocol from JATIC. * Added ``ClassifyImage`` implementation, ``JATICImageClassifier``, to allow for interoperability with image classifiers following the ``Classifier`` protocol from JATIC. License * Add Apache 2.0 license Scripts * Reuse a public helper script previously developed to assist in pending release notes transition upon a release. * Added a script that performs a CI check for changes to the release notes folder in a Merge Request. * Added Sphinx document rendering for MRs. The docs pages can be accessed by clicking the "View App" button located in the merge request page under the test pipeline section. Utils * Added an entrypoint to generate saliency maps on MAITE datasets and object detectors. * Added a CLI script as to generate saliency maps on COCO detections. * Added a Dockerfile and script to run a self terminating XAITK container. This container takes a sample image, model weights, and a config file to generate saliency maps. Other * Changed all instances of "cdao/CDAO" to "jatic/JATIC" * Updated maite to v0.6.0 Dependencies * Added new linting ``black`` and ``ruff``. Fixes ----- * ``torch`` is now an optional requirement. * Fix typing errors for newer ``pyright`` versions. * Updated git lfs to properly track large files in any directory. * Updated ``scipy`` hinge to be explicit for all supported Python versions