Nel marzo del 2018 il team di TensorFlow, la piattaforma open source dedicata all'apprendimento automatico, presentò al pubblico TensorFlow.js, una nuova libreria dedicata alla definizione, all'addestramento e all'esecuzione di modelli di machine learning direttamente dal browser Web.
TensorFlow.js è stata scritta in JavaScript e offre un API layer di alto livello. Gli ingegneri del progetto reputano il lavoro fatto fino ad oggi un ottimo punto di partenza per iniziare a lavorare sulle applicazioni di machine learning, soprattutto se non si hanno esperienze precedenti. Mentre se se si opera già all'interno tale settore è possibile che TensorFlow.js aiuti lo sviluppatore a migliorare le proprie skill nello sviluppo basato su JavaScript.
Dopo diversi mesi TensorFlow.js ha finalmente raggiunto la sua prima major milestone e proprio in questi giorni è stata pubblicata la versione 1.0. L'annuncio della nuova release è stato dato sul palco del TensorFlow Dev Summit 2019 dove Yannick Assogb, frontend software engineer del progetto, ha descritto i traguardi raggiunti tramite diverse demo. Gli sforzi del team si sono focalizzati sul miglioramento delle performance e sulla stabilizzazione dell'API.
In TensorFlow.js 1.0 sono state implementate diverse novità:
- il Graphs converted di TensorFlow genera dei JSON graphs
(model.json)
. Tutti i protocol buffer graph con estensione.pb
sono stati deprecati. È possibile convertire i file.pb
in.json
tramite il pacchettopb2json
. Tensor.buffer
è ora diventato async, se si necessità di una sync version ci dovrà rivolgere aTensor.bufferSync
.LayersModel.fitDataset
da questa release accetterà solo{xs, ys}
come dictionary mapping, il [xs, ys] tuple format è stato rimosso.- Durante la conversione dei modelli con il tensorflowjs pip package invece di
tensorflowjs
si dovrà ora utilizzaretfjs_layers_model
etfjs_graph_model
.
Oltre a queste novità il team ha deciso di deprecare o rinominare diverse feature in modo da renderle più ordinate e facili da implementare. Yannick Assogb ha anche dichiarato che per le prossime release si sta lavorando per introdurre il supporto diretto a Raspberry Pi e per ampliare il bacino di pre-trained model presente in TensorFlow.js.
Via TensorFlow.js