Skip to content

Releases: DocsaidLab/Capybara

Release 0.8.2

11 Feb 09:50
Compare
Choose a tag to compare

Release Note

This release introduces multiple improvements, including enhanced ONNX metadata handling, support for dynamic axes in ONNX models, better formatting consistency, and test suite enhancements.

ONNX Metadata Improvements

  • Replaced get_onnx_metadata with parse_metadata_from_onnx, ensuring consistent metadata parsing.
  • Updated write_metadata_into_onnx to always serialize metadata as JSON.
  • Refactored metadata formatting in ONNXEngine and ONNXEngineIOBinding.

Support for Dynamic Axes in ONNX Models

  • Introduced make_onnx_dynamic_axes, which enables dynamic axes in ONNX models while ensuring compatibility with onnxsim.
  • Added corresponding test cases to validate the functionality.

Code Cleanup and Formatting Standardization

  • Switched all string literals to double quotes for consistency.
  • Removed redundant blank lines and reformatted multi-line function calls for better readability.
  • Improved dictionary formatting and standardized function parameter naming conventions.

Download Function Enhancement

  • Integrated tqdm into download_from_google, providing a progress bar for file downloads.

Testing and Resource Updates

  • Added new test cases for ONNX tools, including test_make_onnx_dynamic_axes.
  • Replaced the outdated model.onnx test model with model_dynamic-axes.onnx and model_shape=224x224.onnx.
  • Introduced make_onnx.py to generate ONNX models for testing, supporting both fixed and dynamic axes.

This release enhances ONNX model flexibility, improves metadata handling, and streamlines testing and formatting. If you encounter any issues or have suggestions, feel free to report them. Thanks for your support!

What's Changed

Full Changelog: 0.8.1...0.8.2

Release 0.7.0

15 Jan 02:29
Compare
Choose a tag to compare

Release Note

1. Key Changes in Configuration Files

Pylint Configuration (.pylintrc)

  • Updated overgeneral-exceptions setting:
    • Before: BaseException, Exception
    • After: builtins.BaseException, builtins.Exception

GitHub Workflow (pull_request.yml)

  • Added paths-ignore directive to exclude specific paths and files from triggering workflow runs:
    • Ignored files: **/version.h, doc/**, **.md.
  • Introduced environment variables:
    • DOCKERFILE: docker/pr.dockerfile
  • Separated workflows into multiple jobs:
    1. Get Runner and UID: Fetches the runner and user/group IDs.
    2. Build Docker Image: Builds and pushes the Docker image for CI.
    3. CI Job: Executes tests using the newly built Docker image.
  • Updated testing steps:
    • Reorganized installation commands for Python dependencies.
    • Enhanced error handling during wheel package installation.
    • Added GPU options for container execution.
  • Improved test coverage reporting using pytest-cov.

2. Dockerfile Additions

docker/pr.dockerfile

  • New Dockerfile for building CI environments.
  • Key features:
    • Based on nvcr.io/nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04.
    • Installs essential tools and libraries, including:
      • ffmpeg, libturbojpeg, exiftool, python3-pip, and more.

3. Updates in ONNXEngine Module

capybara/onnxengine/__init__.py

  • Added a new import: ONNXEngineIOBinding from engine_io_binding.

capybara/onnxengine/engine.py

  • Enhanced __repr__ method:
    • Added utility to remove ANSI escape codes for cleaner output.
    • Improved formatting of nested dictionaries and centered title text.
  • Refactored format_nested_dict to handle more complex data structures.

New Module: capybara/onnxengine/engine_io_binding.py

  • Introduced a new class ONNXEngineIOBinding:
    • Implements advanced input-output binding for ONNXRuntime.
    • Supports GPU execution with enhanced session configuration options.
    • Handles nested input-output information for models dynamically.

4. Test Suite Enhancements

New Tests

  • tests/onnxruntime/test_engine.py:
    • Validates ONNXEngine functionality with randomized inputs.
    • Ensures model outputs differ across runs.
  • tests/onnxruntime/test_engine_io_binding.py:
    • Tests ONNXEngineIOBinding with dynamic input initializations.
    • Verifies output correctness and variance across executions.

New Resource

  • ONNX Model (tests/resources/model.onnx):
    • Added a sample ONNX model for testing purposes.

Full Changelog: 0.6.0...0.7.0

Release 0.6.0

03 Jan 10:28
Compare
Choose a tag to compare

Release Note

  1. Fixing a bug in the prepare_box function. The argument named src_mode should be based on input when input is a cb.Box.
  2. Add get_onnx_input_infos and get_onnx_output_infos.

What's Changed

Full Changelog: 0.5.2...0.6.0

Release 0.5.2

02 Jan 15:48
Compare
Choose a tag to compare

Release Note

Remove download_from_docsaid

The cloud.docsaid.org server, previously hosted on GCP, had its access permissions expire on January 1, 2025. Consequently, the server has been decommissioned.

To maintain functionality, all download operations have been seamlessly migrated to Google Drive, utilizing the download_from_google function.

Full Changelog: 0.5.1...0.5.2

Release 0.5.1

01 Jan 23:30
Compare
Choose a tag to compare

Release Note

  • [A] Add new function download_from_google.
  • [C Update font download from google drive.

Full Changelog: 0.4.0...0.5.1

Release 0.4.0

30 Dec 06:40
Compare
Choose a tag to compare

Release Note

What's Changed

Full Changelog: 0.3.1...0.4.0

Release 0.3.1

28 Dec 14:00
Compare
Choose a tag to compare

Release Note

  • Make KeypointsList can eat empty list

Full Changelog: 0.3.0...0.3.1

Release 0.3.0

27 Dec 07:29
Compare
Choose a tag to compare

Release Note

Add public PyPI supporting.

  • [A] Add long_description_content_type to setup file.
  • [C] Update README.md

Full Changelog: 0.2.0...0.3.0

Release 0.2.0

27 Dec 05:31
Compare
Choose a tag to compare

Release Note

Ready for macos and windows system

What's Changed

Full Changelog: 0.1.1...0.2.0

Release 0.1.1

24 Dec 12:41
Compare
Choose a tag to compare

Release Note

What's Changed

  • [F] Fixed error convert to list in draw_polygon by @zephyr-sh in #10
  • [A] make keypoints and keypointslist can eat themselves by @kunkunlin1221 in #11

Full Changelog: 0.1.0...0.1.1