Skip to content

Releases: acsenrafilho/cucaracha

v0.6.0: Merge pull request #34 from acsenrafilho/develop

20 Jan 14:19
bcce4da
Compare
Choose a tag to compare

Release Notes: Version v0.6.0

Overview

Version v0.6.0 brings an array of enhancements, bug fixes, and new features, improving the functionality, usability, and robustness of the Cucaracha library. This release focuses on advancing machine learning tasks such as image classification and segmentation, data augmentation, and model evaluation, while refining the codebase and documentation.


🚀 New Features

Image Classification Enhancements

  • Dataset Augmentation:
    • Added a script to generate augmented datasets.
      Commit: a990cc1
    • Improved data augmentation techniques.
      Commit: 54ec923
  • Visualization Support:
    • Added functionality to visualize training samples before proceeding with training.
      Commit: bcad26a
  • Custom TensorBoard Callback:
    • Log training images during model training.
      Commit: f069df4
  • Architecture Listing:
    • Added --arch_list option to display available classification architectures.
      Commit: ee33725
  • Evaluation Script:
    • Introduced a detailed reporting and visualization script for evaluating pretrained models.
      Commit: 07c734d

Image Segmentation Enhancements

  • Refactored ImageSegmentationTrainer for better model initialization and metrics handling.
    Commit: 35d297a

Data Handling

  • Added support for loading class labels from a JSON file in the model evaluation script.
    Commit: 242e9da
  • Integrated the image_auto_fit function to resize images for Keras model input.
    Commit: e03a3c2

Dependency Updates

  • Added scikit-learn and seaborn for data visualization and analytics.
    Commit: df8f783
  • Upgraded keras to version 3.8.0 and included scipy for scientific computing.
    Commits: 294b476, d7adf65

🛠️ Enhancements

  • Updated parameter validation for image classification tasks.
    Commit: 588b401
  • Introduced functions to plot confusion matrices and handle organized datasets efficiently.
    Commits: cf46b69, fca10ff
  • Improved configuration files with validation for allowed image extensions.
    Commit: ce666fb

🐛 Bug Fixes

  • Fixed import paths to align modules and tasks.
    Commits: b63d944, a039329
  • Fixed __str__ method implementations for ML models.
    Commit: ca35d5b
  • Resolved issues with missing initialization files in the tasks module.
    Commit: 57f8f4a
  • Removed unused image file links from classification datasets.
    Commit: 2c59293

📝 Documentation Updates

  • Improved docstrings for better clarity and formatting in key functions.
    Commit: 2075c1e
  • Added detailed documentation for model architect and identification functions.
    Commit: 0129375

🔧 Codebase Improvements

  • Refactored import statements for consistency and readability.
    Commits: 8f261c8, 37be488
  • Improved code style with pragma comments and clean-up tasks.
    Commits: acdefe4, 7d33184

Upgrade Instructions

  1. Update the library:

    pip install cucaracha --upgrade
  2. Explore new features:
    Check out the updated documentation for guidance on using the new features.

Enjoy the new version and happy coding! 🚀

v0.5.0: Merge pull request #27 from acsenrafilho/develop

03 Jan 20:37
ab67488
Compare
Choose a tag to compare

Release Notes: Version v0.5.0

Overview

Version v0.5.0 brings exciting updates, including enhanced support for machine learning tasks like image classification and segmentation, the addition of new ML models, improved documentation, and bug fixes. This release expands the repository's capabilities while improving usability and developer experience.


🚀 New Features

Machine Learning Enhancements

Image Classification

  • Added support for new ML models:
    • AlexNet
    • GoogleLeNet
    • ResNet50
    • DenseNet121
    • ModelSoup
      Commit: c492a62

Image Segmentation

  • Introduced the UNet architecture for segmentation tasks.
    Commit: 90839e9

  • Added new functionality for segmentation tasks, including:

    • Support for segmentation datasets (sample-segmentation-dataset).
      Commit: 9f49722
    • MLPattern template enhancements for checking architecture patterns.
      Commit: 4230d62

Broader Dataset Support

  • Expanded the load_cucaracha_dataset function for compatibility with additional AI tasks.
    Commit: f0e0dc1

Codebase Improvements

  • Improved code organization for ML trainers and models to support more extensible implementations.
    Commit: 1b49cf1
  • Streamlined imports and removed unused code.
    Commits: 252cc75, 3f8d140, 1e06a51

🐛 Bug Fixes

  • Fixed test outputs to align with model names.
    Commit: 2ae3f2a
  • Corrected references for CUCARACHA_PRESETS models and datasets to the official Kaggle repository.
    Commit: 228aae9

📝 Documentation Updates

  • New Sections:

    • Added detailed documentation for image classification and segmentation tasks.
      Commit: 9ef07b1
    • Documented the UNet Xception model for image segmentation.
      Commit: 09aa3c9
  • Reorganized ML Trainers and Models:
    Structured documentation for better readability and usage.
    Commit: 1b49cf1

  • Abstract Class MLPattern:
    Provided documentation to support developers extending ML implementations.
    Commit: 9d1ade5

  • Fixed spelling and updated repository references in various documentation files.
    Commit: f40575d

  • Added CONTRIBUTING.md to guide open-source contributors.
    Commit: f185475


🛠️ Enhancements

  • New tests for ML models, including AlexNet, ResNet50, GoogleLeNet, DenseNet121, and ModelSoup.
    Commit: d381e43
  • Added tests for the image_segmentation trainer module.
    Commit: f566ca2
  • Defined new references for CUCARACHA_PRESETS for consistency and broader compatibility.
    Commit: 278d610

🔒 Issues Resolved

  • #25: Add a Image Segmentation ML model and trainer.
  • #26 : Create a set of function to consume pre-treined models placed on Kaggle Cucaracha-Project .
  • #19: Create a ML model for document type classification.

Special Thanks 🎉

This release was made possible through the contributions and hard work of the following authors:

  • @acsenrafilho: For spearheading development, improving ML support, and organizing the codebase.
  • @lcscosta: For valuable contributions like the CONTRIBUTING.md file and support in improving documentation.

Your expertise and dedication have pushed Cucaracha to new heights. Cheers to you! 🥂


Upgrade Instructions

  1. Update your package to the latest version:

    pip install cucaracha --upgrade
  2. Explore the new ML features and segmentation capabilities by following the updated documentation

  3. Review the CONTRIBUTING.md for collaboration guidelines.

Thank you for your continued support! 🎉

v0.4.0

30 Nov 21:56
Compare
Choose a tag to compare

Release Notes: Version v0.4.0

Overview

This release introduces comprehensive updates, including new machine learning modules, expanded documentation, and critical bug fixes. The addition of image classification support, Kaggle integration, and adjustments to key machine learning models significantly enhance the repository's functionality.


🚀 New Features

Machine Learning Enhancements

  • Added SmallXception Architecture:
    A lightweight model for binary image classification tasks.
    Commit: b2818e4, b661a0e

  • Introduced ImageClassificationTrainer Class:
    Facilitates training and evaluation workflows for image classification.
    Commit: 180ea0e

  • Added ml_models and ml_trainers Modules:
    Comprehensive modules for defining and training machine learning models.
    Commit: 8c1b804, 4577d5f

  • Kaggle Integration:

    • New kagglehub dependency for downloading datasets and pre-trained models.
      Commit: 77c832f
    • Included default addresses for Cucaracha pre-trained models.
      Commit: 4c9c711
    • Module for handling Kaggle API calls.
      Commit: 1ce6e56
  • Expanded Testing:

    • Tests for verify_image_compatibility and ml_models modules.
      Commits: 03754ac, 0d92f22

Dependency and Compatibility Updates

  • TensorFlow 2.16.2 defined as the required version.
    Commit: 63cd4c9
  • Removed Windows compatibility; supports Linux/Mac only.
    Commit: 963fa74

🐛 Bug Fixes

  • Dataset Loading Fix:
    Adjusted load_cucaracha_dataset to rearrange folder structures for compatibility with ml_trainers.
    Commit: 515d01c

  • Model Improvements:
    Fixed lint issues with the SmallXception model and __str__ method for the ModelArchitec interface.
    Commits: 799474c, 436f352

  • Various Fixes:

    • Resolved int to float assertion issues.
      Commit: 2fee044
    • Fixes for TensorFlow training runner stability.
      Commit: 279d75b

📝 Documentation Updates

  • Getting Started Section Added:
    Comprehensive guide for new users.
    Commit: eb809a8

  • New Documentation Sections:
    Added details about ml_models and ml_trainers modules.
    Commit: f727042

  • Documentation Configuration:
    Added mkdocs.yml for structured documentation generation.
    Commit: a5cb8c9


🛠️ Enhancements

  • Organized the MLPattern interface for general ML implementations.
    Commit: c355638

  • Improved code coverage and file organization within the repository.
    Commit: 335a85c, 104ae7f

  • Updated .gitignore to exclude .keras files and organized_dataset.
    Commits: 45bdcfb, f381dae

  • Improved dataset samples for more robust testing.
    Commit: c9c8636


🔒 Issues Resolved

  • #17: Add ML training support.
  • #12: Define ML model and trainer modules.
  • #8: Add Kaggle integration for datasets and models.
  • #7: Support for image classification tasks.
  • #6: TensorFlow training runner fixes.

Commit Summary

Commit Type Description
a5cb8c9 DOC Add mkdocs.yml and getting_started.md section
799474c BUG Fix lint on SmallXception model
279d75b BUG Fix TensorFlow training runner
b2818e4 ENH Add SmallXception ML model
1ce6e56 ENH Kaggle API integration
eb809a8 DOC Added Getting Started guide
515d01c BUG Fix dataset loading issues
b661a0e ENH Adjust SmallXception to binary classification
f727042 DOC Add sections for ML modules
8c1b804 ENH Define ml_models and ml_trainers modules
77c832f ENH Add kagglehub dependency
2fee044 BUG Fix int-to-float assertion
335a85c ENH Improved code coverage
63cd4c9 ENH Defined TensorFlow 2.16.2 compatibility

Upgrade Instructions

  1. Update your package to the latest version:

    pip install cucaracha --upgrade
    
  2. Follow the Getting Started Guide for an overview of the new features.

We encourage users to explore the new ML capabilities and provide feedback through GitHub issues. Thank you for supporting

v0.3.0: Merge pull request #5 from acsenrafilho/develop

13 Nov 20:03
be95131
Compare
Choose a tag to compare

be95131 (tag: v0.3.0) Merge pull request #5 from acsenrafilho/develop
ec394fe Update README.md
6e34023 Update README.md
c48eb35 DOC: Add Contribute documentation
89a5dce BUG: Going back to remove read the docs actions
f628ad1 ENH: Add documentation build on PR (github action)
ad3aade BUG: Removing doctest for execution not working on Windows (rich print)
e07dde3 ENH: Add more image samples to be used in tests and demonstrations (collected from public repositories)
2477aca BUG: Fix test for sparse_dots filter using the cucaracha output filter standard
1cb50ab ENH: New tests for Document class for methods set_page and run_pipeline
91ba3dd BUG: Fix output format in sparse_dots method to be as cucaracha filter
386608f ENH: Add new methods in Document class: set_page, run_pipeline
3581989 BUG: Fix inplane_deskew method for input that is already in gray-scale

v0.2.0

13 Nov 15:25
Compare
Choose a tag to compare

689fe2a (HEAD -> main, tag: v0.2.0, origin/main, origin/HEAD) ENH: Update PyPI package to v0.2.0
cacd731 Merge pull request #4 from acsenrafilho/develop
f4bea60 (origin/develop, develop) BUG: Fix read the docs yml to Python 3.10
8a34f26 BUG: Removing save_document example doctest (Windows wrong path)
cafdf32 BUG: Removing wrong import for scipy
29c541c ENH: Add new module: aligment (code, tests and samples)
3d5f152 ENH: Update project to Python 3.10 or higher and poetry lock
7802cb2 DOC: Added noise removal doc file in the mkdocs.yml
e26f238 ENH: Update poetry lock file
2573849 ENH: Added doctest on Document class
c801a6f ENH: Added more image samples shortucut in sample_paths.py module
6f89686 DOC: Added noise remval documentation
41d27e9 ENH: Added noise removal module and tests
093c10f ENH : Added more image samples for testing
1039ca1 ENH: Test using import os to doctest
0f831f4 ENH: Added PyPI badge in README
1405945 BUG: project.toml classifiers
bb33dc1 BUG: Fix pyproject.toml
dc2b812 ENH: Add project PyPI classifiers
9a609e1 DOC: Commenting doctest until fix it for Windows calls (WIP)
ed37367 BUG: Fix doctest to pass over Windows SO
a716c60 ENH: Focusing CI to Python 3.10 only
7bfb575 BUG: Fix test for output metadata as dict pattern
8ab83ac ENH: Module documentation
8922211 ENH: API documentation (Document class, Threshold module)
5e2b458 ENH: Improved read the docs documentation
6c9ccd4 ENH: Added image samples (jpg, png, tif and pdf)
b14b651 ENH: Added tests for Document class
bbeb4d2 ENH: Added threshold module
dcd2b3a ENH: Adding PyMUPDF lib as dependency
d06a688 ENH: Allocation of Document class to cucaracha init file