Für das quelloffene Machine-Learning-Framework Pytorch gibt es ein Update. Version 1.5 wirft Python 2 über Bord, erweitert das C++-Frontend-API und führt neue C++-Klassen ein und macht das verteilte Framework für RPC stabil.
Das C++-Frontend-API sei nun auf Augenhöhe mit dem Python-Frontend, was es unter anderem erlaube, einfacher vom Python auf das C++-API zu wechseln. Auch die C++ Optimizer funktionieren nun so wie ihre Python-Gegenstücke und akzeptieren Parametergruppen als Input.
Das neue “torch.CustomClassHolder”-API erlaubt es, angepasste C++-Klassen simultan in TorchScript und Python zu integrieren, wobei die Syntax der von Pybind 11 gleicht. Das erlaubt es Entwicklern, beliebige C++-Objekte von TorchScript und Python aus zu instanziieren und zu verändern. Im Gegensatz zum C++-Frontend-API ist das aber ein noch experimentelles Feature. Ebenfalls experimentell ist das “Channels Last”-Speicherformat, das es erlaubt, Faltungs-Algorithmen und -Hardware effizient zu verwenden.
RPC-API stabil
Als stabil gelten hingegen die APIs zum verteilten RPC-Framework (Remote Procedure Calls). Das macht es einfacher, Funktionen auf entfernten Workern zu betreiben. Das in Pytorch 1.4 als experimentell eingeführte Framework bringt nun auch ein paar Neuerungen mit. So lassen sich TorchScript-Funktionen als RPCs verwenden und gibt es verschiedene Vereinfachungen für den Einsatz.
Nicht zuletzt führt Pytorch 1.5 ein experimentelles Autograd-API ein und wirft Python 2 über Bord. Künftig wird das Framework nur noch Python 3 unterstützen. Weitere Details zu den Neuerungen liefert der Blogpost, die Software selbst wartet auf Github.



