Interoperable AI: ONNX e ONNXRuntime in C++
Meetup solo online a causa dell’emergenza sanitaria.
Ogni incontro è ospitato su Remo e può essere rivisto su YouTube.
La sessione
ONNX è un formato open source per rappresentare modelli di machine learning e reti neurali. L’obiettivo del progetto è permettere agli sviluppatori di utilizzare facilmente ed in maniera ottimizzata modelli sviluppati con tool differenti e accelerarli su diverse piattaforme hardware. Lo sviluppo di ONNX è guidato da una community di partner tra i quali Microsoft, Facebook, NVIDIA e Mathworks.
Tra i diversi runtime e librerie compatibili con ONNX, esiste la possibilità di usare ONNXRuntime, progetto open source il cui sviluppo è capitanato da Microsoft. Oltre a fornire un’implementazione ottimizzata per CPU di tutti gli operatori di ONNX, ONNXRuntime supporta diversi target di accelerazione come ad esempio le MKL-DNNL di Intel e le CUDA libraries di NVIDIA. Inoltre ha un’architettura molto estensibile per consentire di aggiungere facilmente nuovi acceleratori.
In questa sessione, dopo aver fatto una breve introduzione ad ONNX, parleremo di ONNXRuntime e mostreremo alcune demo pratiche in C++ e Python.
I relatori
Marco Arena lavora come AI Software Engineer in Tetra Pak. Dal 2011 al 2019 ha lavorato nel team di Formula 1 della Ferrari sviluppando software mission-critical relativo a telemetria e simulazioni. Marco è fondatore di Italian C++ Community, Coding Gym, ML Modena. Microsoft lo premia col titolo di “MVP” dal 2016.
Mattia Verasani è Machine Learning Engineer in Tetra Pak.