Zephyrnet-logo

Een basisinleiding tot Tensorflow in Deep Learning

Datum:

Dit artikel is gepubliceerd als onderdeel van het Data Science-blogathon.

Introductie

Het Tensorflow-framework is een open end-to-end machine learning-platform. Het is een symbolische wiskundige toolkit die gegevensstroom en differentieerbare programmering integreert om verschillende taken uit te voeren die verband houden met diepe neurale netwerktraining en inferentie. Het stelt programmeurs in staat om machine learning-applicaties te ontwerpen met behulp van meerdere tools, bibliotheken en open-source bronnen.

TensorFlow is gemaakt met uitgebreide numerieke berekeningen in het achterhoofd, niet met diep leren in het achterhoofd. Desalniettemin bleek het waardevol voor de ontwikkeling van deep learning, dus Google maakte het open-source.

Tensorflow in diep leren
Bron: Medium.com

TensorFlow neemt gegevens op in tensoren, multidimensionale arrays met meer uitstekende afmetingen. Bij het omgaan met enorme hoeveelheden gegevens zijn multidimensionale arrays handig. TensorFlow-code is aanzienlijk gemakkelijker uit te voeren op een gedistribueerde manier over een cluster van computers bij gebruik van GPU's, omdat het uitvoeringsmechanisme in de vorm van grafieken is.

 

Inhoudsopgave

  • De geschiedenis van TensorFlow
  • Onderdelen van TensorFlow
  • Het ontwerp van TensorFlow en hoe het werkt
  • Algoritmen voor TensorFlow
  • TensorFlow versus de rest van het veld
  • Hoe zit het met TensorFlow?
  • Enige basis Python-implementatie met Tensorflow
  • Conclusie

De geschiedenis van TensorFlow

Bij een grote hoeveelheid gegevens overtrof deep learning een paar jaar geleden alle andere algoritmen voor machine learning. Google realiseerde zich dat het zijn diensten kon verbeteren door gebruik te maken van diepe neurale netwerken:

• Google-zoekmachine

• Gmail

• Foto

Ze creëerden het Tensorflow-framework om onderzoekers en ontwikkelaars in staat te stellen samen te werken aan AI-modellen. Veel mensen kunnen het gebruiken als het eenmaal is gebouwd en geschaald.

Het werd voor het eerst uitgebracht eind 2015, met de eerste stabiele versie in 2017. Het is gratis en open-source, dankzij de Apache Open Source-licentie. Zonder iets aan Google te betalen, kunt u het gebruiken, aanpassen en de bijgewerkte versie tegen betaling opnieuw distribueren.

Onderdelen van TensorFlow

Tensorflow is genoemd naar het Tensor-framework waarop het is gebouwd. In elke Tensorflow-berekening worden tensoren gebruikt. Alle gegevens kunnen worden weergegeven door een tensor, een n-dimensionale vector of matrix. De tensorwaarden zijn allemaal van hetzelfde gegevenstype en hebben een bekende (of gedeeltelijk bekende) vorm. De vorm van de gegevens wordt bepaald door de afmetingen van de matrix of array.

Een tensor kan worden afgeleid uit de invoer- of uitvoergegevens van een berekening. TensorFlow voert al zijn acties uit binnen een grafiek. De grafiek bestaat uit een reeks opeenvolgende berekeningen en elke bewerking wordt een op-knooppunt genoemd en ze zijn allemaal met elkaar verbonden.

Onderdelen van Tensorflow

Bron: Towardsdatascience

De acties en relaties tussen de knooppunten zijn weergegeven in de grafiek.

De waarden daarentegen worden niet weergegeven. De rand van de knooppunten in de Tensor is een middel om de bewerking met gegevens te vullen.

Grafieken

TensorFlow is gebaseerd op een op grafieken gebaseerde architectuur. Deze grafiek verzamelt alle reeksberekeningen van de training die in deze grafiek worden verzameld en uitgelegd. De kaart heeft veel voordelen:

• Dankzij de draagbaarheid van de grafiek kunnen berekeningen worden opgeslagen voor direct of later gebruik, en hij is ontworpen om op talloze CPU's of GPU's en mobiele apparaten te draaien.

Tensorflow-grafiek

Bron: Towardsdatascience.com

• De berekeningen van de grafiek worden volledig gedaan door tensoren aan elkaar te koppelen. Het kan dus later worden opgeslagen en uitgevoerd.

Het ontwerp van TensorFlow en zijn werking

Met TensorFlow kunt u gegevensstroomgrafieken en -structuren ontwerpen om te specificeren hoe gegevens door een diagram stromen door invoer te ontvangen als een multidimensionale array genaamd Tensor. Hiermee kunt u een stroomdiagram maken van bewerkingen die kunnen worden uitgevoerd op deze inkomende en uitgaande invoer.

Dit is beschikbaar voor programmeurs dankzij TensorFlow, dat is geschreven in Python. Python is gemakkelijk te leren en te gebruiken, en het biedt eenvoudige methoden om te specificeren hoe abstracties op hoog niveau moeten worden gekoppeld. TensorFlow-knooppunten en tensors zijn Python-objecten, net als TensorFlow-toepassingen.

Python daarentegen voert geen wiskundige bewerkingen uit. TensorFlow bevat transformatiebibliotheken die zijn geschreven als hoogwaardige C++-binaire bestanden en Python verbindt de componenten door gegevens ertussen te routeren en programmeerabstracties op hoog niveau te bieden.

De architectuur van TensorFlow is opgedeeld in drie delen:

• De gegevens voorbereiden

• Het model maken

• Bereid het model voor door het te trainen en te schatten.

Architectuur | Tensorflow in diep leren

Bron: Googledevelopersblog

Tensorflow ontleent zijn naam aan het basisconcept van het nemen van invoer in een multidimensionale array, algemeen bekend als tensoren. U kunt een stroomdiagram (een grafiek genaamd) maken van de processen die u op die invoer wilt uitvoeren, en de gegevens worden aan de ene kant ingevoerd en aan de andere kant uitgevoerd.

Algoritmen voor TensorFlow

TensorFlow ondersteunt de volgende algoritmen:

TensorFlow 1.10 bevat een ingebouwde API voor:

• tf. schatter voor lineaire regressie, LinearRegressor

• Classificatie:tf.schatter,LinearClassifier

• tf. schatter.DNNClassifier voor classificatie van diep leren

• Wipe en deep learning: tf. schatter

DNNLinearCombinedClassifier

• tf. Schatting (booster tree regressie).

BoostedTreesRegressor

TensorFlow versus de rest van het veld

TensorFlow kan worden aangenomen als een raamwerk voor machine learning dat ook concurreert met dat van anderen. Drie prominente frameworks, PyTorch, CNTK en MXNet, dienen veel van dezelfde doelstellingen, en Ik heb in de onderstaande tabel gemarkeerd waar ze opvallen en tekortschieten ten opzichte van TensorFlow.

PyTorch is in veel opzichten vergelijkbaar met TensorFlow, behalve dat het in Python is geschreven: veel essentiële componenten zijn al inbegrepen, evenals hardware-versnelde componenten onder de motorkap, een zeer interactief ontwikkelingsmodel dat ontwerp-as-you-go-werk mogelijk maakt, en een zeer interactief ontwikkelingsmodel dat ontwerp-as-you-go-werk mogelijk maakt.

Tensorflow in diep leren

Bron: Pytorh.org

CNTK, of de Microsoft Cognitive Toolkit, gebruikt een grafiekstructuur om de gegevensstroom weer te geven, vergelijkbaar met TensorFlow, maar richt zich op deep learning neurale netwerken. Veel neurale netwerktaken worden sneller afgehandeld met CNTK.

Amazon's adoptie van Apache MXNet als het toonaangevende deep learning-framework op AWS

Wat is de deal met TensorFlow?

TensorFlow heeft API's in zowel C++ als Python.

Het coderingsproces voor machine learning en deep learning was aanzienlijk gecompliceerder vóór de ontwikkeling van bibliotheken. Om een ​​neuraal netwerk te creëren, een neuron in te stellen of een neuron te programmeren, deze bibliotheek biedt een API op hoog niveau die de noodzaak van geavanceerde codering elimineert. Alle bovenstaande taken worden uitgevoerd door de bibliotheek. TensorFlow biedt ook Java- en R-integratie.

TensorFlow toont compatibiliteit met zowel CPU's als GPU's.

Deep learning-toepassingen zijn behoorlijk complex en de trainingsprocedure vereist een aanzienlijke hoeveelheid computergebruik. Vanwege de hoge gegevensomvang duurt het lang en zijn er meerdere iteratieve processen, wiskundige berekeningen, matrixvermenigvuldigingen en andere stappen nodig.

Enige basis Python-implementatie met Tensorflow

 

TensorFlow instellen

importeer tensorflow als tf print("TensorFlow version:", tf.__version__)

Een gegevensset laden

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0

Een machine learning-model bouwen

model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activatie='relu'), tf.keras.layers .Dropout(0.2), tf.keras.layers.Dense(10) ])

Uw model trainen en evalueren

model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test, verbose=2) waarschijnlijkheidsmodel = tf.keras.Sequential([model, tf.keras.layers.Softmax() ])

Conclusie

In dit artikel over tensorflow in deep learning hebben we de basisintroductie tot de TensorFlow-module in Python behandeld en een samenvatting van de geschiedenis van TensorFlow. We hebben ook andere kritische terminologieën met betrekking tot TensorFlow behandeld, zoals tensoren, grafieken enz. We hebben ook de verschillende componenten van TensorFlow en het ontwerp en de werking van de TensorFlow behandeld. Ten slotte hebben we de basispython-implementatie van TensorFlow behandeld.

Lees meer artikelen op onze blog.

Mijn naam is Pranshu Sharma, en ik ben een Data Science Enthousiast. Heel erg bedankt voor het nemen van je kostbare tijd om deze blog te lezen. Ik hoop dat je mijn artikel over tensorflow bij deep learning leuk vond. Voel je vrij om op een fout te wijzen (ik ben tenslotte een leerling) en respectieve feedback te geven of een opmerking achter te laten.

E-mail: [e-mail beveiligd]

De in dit artikel getoonde media zijn geen eigendom van Analytics Vidhya en worden naar goeddunken van de auteur gebruikt. 

spot_img

Laatste intelligentie

spot_img