Release 0.7.0
Release Note
1. Key Changes in Configuration Files
Pylint Configuration (.pylintrc
)
- Updated
overgeneral-exceptions
setting:- Before:
BaseException, Exception
- After:
builtins.BaseException, builtins.Exception
- Before:
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
.
- Ignored files:
- Introduced environment variables:
DOCKERFILE
:docker/pr.dockerfile
- Separated workflows into multiple jobs:
- Get Runner and UID: Fetches the runner and user/group IDs.
- Build Docker Image: Builds and pushes the Docker image for CI.
- 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.
- Based on
3. Updates in ONNXEngine Module
capybara/onnxengine/__init__.py
- Added a new import:
ONNXEngineIOBinding
fromengine_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.
- Validates
tests/onnxruntime/test_engine_io_binding.py
:- Tests
ONNXEngineIOBinding
with dynamic input initializations. - Verifies output correctness and variance across executions.
- Tests
New Resource
- ONNX Model (
tests/resources/model.onnx
):- Added a sample ONNX model for testing purposes.
Full Changelog: 0.6.0...0.7.0