Skip to content

v0.4.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@CodeWithKyrian CodeWithKyrian released this 15 May 11:24
· 136 commits to main since this release

This release marks a significant milestone in enhancing the performance and functionality of the Tensor class while introducing convenient tools to streamline the installation of essential dependencies. These improvements not only optimize existing operations but also pave the way for future enhancements and expanded capabilities within the project.

What's Changed

  • New Inference Session: The InferenceSession has been overhauled to now receive Tensor inputs directly, facilitating easier conversion of Tensor objects to ONNX Tensors by simplifying memory copying.
  • Overhaul Tensor Buffer Implementation: The Tensor class has been revamped to utilize OpenBlas and Rindow Matlib C shared libraries, introducing a massive performance improvements in Tensor operations.
  • PHP Buffer Fallback: When the C Based Buffer fails for some reason, there's still a working PHP buffer implemented as a fallback, which is obviously slower, but will prevent errors.
  • OpenMP Integration: The Tensor operations can be further optimized further by utilizing the parallel operation ability of OpenMP with an optional fallback to the the non OpenMP alternatives when OpenMP isn't installed.
  • New Tensor Methods: Several new methods, including topk, divide, and slice, have been added to the Tensor class, along with corresponding changes to existing implementations to leverage these methods.
  • Refactor Stack Method: The stack method in the Tensor class has been refactored for enhanced performance.
  • Move Thumbnail Method: The thumbnail method has been relocated from the feature extractor to the Image class for improved organization.
  • Code Cleanup and Style Review: The codebase has undergone cleanup and style review to ensure consistency and readability.
  • Optimize Image <-> Tensor Conversion: Efforts have been made to optimize the speed of conversion between Image and Tensor objects, and vice versa enhancing overall performance for image related tasks.
  • Image Driver Configuration: While Image driver setting can still be set in the Transformers class, it can be set directly on the Image class, allowing it to be used independently.
  • Introduce Libraries Loader: A new library loader package has been introduced to automate the downloading of required shared libraries, such as onnxruntime, openblas, and rindow-matlib, during the Composer install process.
  • TinyLlama Support: Add support for the TinyLlama model by @CodeWithKyrian
  • Install Command Returned: Returned the install command back to serve as an alternative way of getting the shared libraries if it fails for any reason during composer install.

New Contributors

Full Changelog: 0.3.1...0.4.0