aanzienlijke release van het machine learning-platform , dat kant-en-klare implementaties biedt van verschillende algoritmen voor diepgaande machine learning, een eenvoudige programmeerinterface voor het bouwen van modellen in de programmeertaal Python en een laag-niveau interface voor de programmeertaal C++, waarmee het bouwen en uitvoeren van computationele grafieken kan worden beheerd. De systeemcode is geschreven in de talen C++ en Python en is gelicenseerd onder de Apache-licentie.
Het platform is oorspronkelijk ontwikkeld door het Google Brain-team en wordt gebruikt in Google-services voor spraakherkenning, gezichtsherkenning op foto's, het bepalen van de overeenkomsten tussen afbeeldingen, het filteren van spam in Gmail, in Google News en de vertaling op basis van betekenis te organiseren. Gedistribueerde systemen voor machine learning kunnen worden gebouwd op standaard hardware, dankzij de ingebouwde ondersteuning in TensorFlow voor het distribueren van berekeningen over meerdere CPU's of GPU's.
TensorFlow biedt een bibliotheek van kant-en-klare algoritmen voor numerieke berekeningen, geĆÆmplementeerd via gegevensstroomgrafieken (data flow graphs). De knooppunten in dergelijke grafieken voeren wiskundige bewerkingen uit of fungeren als in- en uitgangspunten, terwijl de randen van de grafiek multidimensionale gegevensarrays (tensors) representeren die tussen de knooppunten stromen.
Knooppunten kunnen aan rekeneenheden worden gekoppeld en asynchroon worden uitgevoerd, waarbij ze tegelijkertijd alle relevante tensors verwerken, wat gelijktijdige werking van knooppunten in een neuraal netwerk mogelijk maakt, vergelijkbaar met de gelijktijdige activering van neuronen in de hersenen.
Bij de voorbereiding van de nieuwe versie was er veel aandacht voor vereenvoudiging en gebruiksvriendelijkheid. :
- Voor het bouwen en trainen van modellen is er een nieuwe hoge-niveau API aangeboden , die verschillende opties voor interfaces biedt voor het bouwen van modellen (Sequential, Functional, Subclassing) met de mogelijkheid tot (zonder voorafgaande compilatie) en met een eenvoudig debugmechanisme;
- API is toegevoegd voor het organiseren van van modellen met minimale wijzigingen in de bestaande code. Naast de mogelijkheid om berekeningen te verspreiden over , is er experimentele ondersteuning beschikbaar voor het verspreiden van het leerproces over meerdere onafhankelijke verwerkers en de mogelijkheid om cloud- (Tensor Processing Unit) in te schakelen;
- In plaats van een declaratief model voor grafen met uitvoering via tf.Session is er de mogelijkheid toegevoegd om gewone functies in Python te schrijven, die met behulp van de tf.function-aanroep kunnen worden omgezet in grafen en vervolgens op afstand kunnen worden uitgevoerd, geserialiseerd of geoptimaliseerd voor verbeterde prestaties;
- Vertaler toegevoegd , die de stroom van Python-commando's omzet in TensorFlow-expressies, wat het mogelijk maakt om Python-code te gebruiken binnen functies die getailleerd zijn met tf.function, tf.data, tf.distribute en tf.keras;
- In SavedModel is het uitwisselingsformaat voor modellen gestandaardiseerd en is de ondersteuning voor het opslaan en herstellen van modelstatussen toegevoegd. Modellen die voor TensorFlow zijn opgebouwd, kunnen nu worden gebruikt in (op mobiele apparaten), (in de browser of Node.js), en ;
- De API's tf.train.Optimizers en tf.keras.Optimizers zijn gestandaardiseerd; in plaats van compute_gradients voor het berekenen van gradiƫnten is er een nieuwe klasse aangeboden ;
- De prestaties zijn aanzienlijk verbeterd bij gebruik van GPU.
De leersnelheid van modellen op systemen met NVIDIA Volta en Turing GPU is tot drie keer verhoogd; - Er is een grote schoonmaak van de API geweest, veel aanroepen zijn hernoemd of verwijderd, en de ondersteuning voor globale variabelen in hulpfuncties is stopgezet. In plaats van tf.app, tf.flags, tf.logging is er een nieuwe API genaamd absl-py geĆÆntroduceerd. Voor het voortzetten van het gebruik van de oude API is er een compatibiliteitsmodule compat.v1 voorbereid.
Bron: opennet.ru
