Skip to content

Release 0.7.0

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Jan 02:29
· 16 commits to main since this release

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