Skip to content

v0.2.0: Improved performances & reduced latency with ONNX

Latest
Compare
Choose a tag to compare
@frgfm frgfm released this 07 Aug 10:24
· 87 commits to main since this release
a7b7821

This release brings the performance improvements of pyrovision to edge devices while reducing latency.

Note: pyroengine 0.2.0 requires ONNX Runtime 1.10 or higher.

Highlights

⚡ Go ONNX!

Since this project is meant for edge devices, we completely migrated the Deep learning backend from PyTorch (used for development) to ONNX Runtime (#101). This brings about two major improvements:

  • 🪶 lighter environment: the compressed docker image's size is now 8 times smaller
  • 🚄 faster inference: by exporting our model to ONNX, a few operations are optimized and this comes with a significant speed boost!

🎨 Documentation theme

It was time to clean the documentation! So we switch from Read the doc theme to Furo (#101, #110, #112)!
image

This comes with nice features such as dark mode and edit button!

🧹 Cleaned codebase

The project was completely refactored to match its criticity:

  • Engine improvement: the package was considerably simplified to serve a single purpose, having the fastest & lightest high-performance wildfire predictor (#101).
  • Code quality: flake8, mypy, black and isort are now making sure the codebase is prime quality (#79, #101)! All requirements.txt and config files are now handled by pyproject.toml.
  • CI updates: unittests are not much more extensive (#101, #108) and also run on Raspberry PI (#83)!
  • Contribution process: a Makefile was added to help contributions (#101), along with new issue templates (#113) and a revamped README

Breaking changes

Deprecated features / files

The following features & files were deprecated:

  • ./server
  • ./pyroengine/pi_utils

Renamed features / files

The following features & files were renamed:

  • ./test renamed to ./tests
  • ./runner renamed to ./src
  • PyronearEngine was renamed to Engine

Detailed Changelog

Breaking Changes 🛠

New Features 🚀

Bug Fixes 🐛

Improvements

Full Changelog: v0.1.1...v0.2.0