Harde zelfstudie

Harde Zelfstudie



Heeft iemand ooit kennis genomen van het gebruik van Python bij het ontwerpen en ontwikkelen van robots? Als dat zo is, moet men kunnen aantonen dat Pythons idee van deep learning de enige manier is om dit te bereiken. Machine learning is het onderzoek naar optimalisatietechnieken die geïnspireerd zijn op het model van de menselijke geest. Datawetenschapsdisciplines, waaronder robotica, kunstmatige intelligentie (AI), muziek- en video-identificatie en beeldidentificatie zien een toenemend gebruik van deep learning. Deep learning-benaderingen zijn gebouwd rond synthetische neurale netwerken. Voordat u diep gaat graven, moet u eerst het concept van Keras begrijpen.

Moeilijk

Een van de meest effectieve en gebruiksvriendelijke plug-ins voor het bouwen van deep-learning-algoritmen is een op Python gebaseerd verhoogd kunstmatig neuraal raamwerk genaamd Keras, dat zou worden gebouwd bovenop bekende deep-learning-frameworks zoals TensorFlow of CNTK. Om snellere verkenning mogelijk te maken met behulp van diepere neurale netwerken, is het gebruiksvriendelijk, uitbreidbaar en aanpasbaar ontworpen. Het behandelt zowel Feedforward als Retractable Networks afzonderlijk, maar ook in combo. Het gebruikt het Backend-pakket om kleine bewerkingen aan te pakken omdat het deze niet kan beheren. De inzet van Keras, de basisprincipes van deep learning, Keras-structuren, Keras-lagen, Keras-pakketten en realtime programmeren worden in deze les behandeld.

Keras instellen op Linux

Stap 01: systeem bijwerken

Voordat we de volledige demonstratie hebben van het gebruik van de 'Keras'-bibliotheek van Python, moeten we onze Linux-machine volledig bijwerken om het gemakkelijk te maken voor verdere installaties. Hiervoor moeten we snel de 'console' -applicatie openen vanuit de ingebouwde applicaties van het systeem. Binnen het specifieke zoekgebied hebben we de 'update' -query van Linux toegevoegd met het 'apt' -hulpprogramma en 'sudo' -privilege om het systeem dat we hebben snel bij te werken. Het heeft ons gebruikerswachtwoord nodig om dit proces voort te zetten, zodat ons systeem correct kan worden bijgewerkt.









Stap 02: Installeer Python en Pip

Voor het gebruik van Deep Learning via Keras en TensorFlow moeten we de nieuwste versie van Python op onze machine hebben geconfigureerd. Daarom beginnen we het bijgewerkte pakket van Python samen met het noodzakelijke 'pip' -hulpprogramma op ons systeem te installeren. Daarvoor moeten we opnieuw het hulpprogramma 'apt' van het Ubuntu 20.04 Linux-systeem gebruiken in de 'install'-query op de shell, gevolgd door de namen van de te installeren pakketten, d.w.z. Python3 en Python3-pip. Bij het uitvoeren van deze eenvoudige query op het consolegebied, begint het systeem beide pakketten in ons systeem te installeren en te configureren.







Aan de andere kant, als uw systeem een ​​oude versie van het 'pip' -hulpprogramma voor Python heeft geïnstalleerd, moet u deze bijwerken voordat u verder gaat.



Na de succesvolle configuratie van Python en zijn 'pip'-hulpprogramma, is het tijd om de Setuptools voor Python te upgraden om problemen in de nabije toekomst te voorkomen. Daarom hebben we de installatiequery geprobeerd met het hulpprogramma 'pip3' en de optie -upgrade om de upgrade van de Setuptools, d.w.z. setup-tools, te installeren. Het vraagt ​​om het huidige wachtwoord dat we voor ons systeem hebben, en we hebben het toegevoegd.

Stap 03: Installeer TensorFlow

Voor het bouwen van machine learning en gesuperviseerde neurale modellen is TensorFlow het bekendste symbolische wiskundepakket. Nadat we de installaties hebben doorlopen, hebben we dezelfde 'pip3' installatiequery uitgevoerd, gevolgd door de pakketnaam 'Tensorflow'.

Andere TensorFlow-gerelateerde hulpprogramma's moeten volledig op het systeem zijn geïnstalleerd. Deze hulpprogramma's worden samen met de TensorFlow geïnstalleerd en dit kan tot 10 minuten of langer duren.

Stap 04: Essentiële pakketten installeren

Na de vruchtbare configuratie van TensorFlow in het Ubuntu 20.04-systeem, moeten we ook enkele buildpakketten configureren samen met enkele andere hulpprogramma's zoals 'git' en 'cmake'. Door dezelfde 'apt'-tool te proberen, hebben we veel van de benodigde pakketten geïnstalleerd, zoals hieronder wordt weergegeven:

Deze stap trekt onze meeste aandacht door deze installatie te bevestigen. Tik op 'y' en ga verder.

Stap 05: Virtuele omgeving creëren

Na de nodige installaties is het tijd om een ​​virtuele omgeving te creëren. Daarom moeten we het Python3-hulpprogramma gebruiken met de optie '-m' om de virtuele omgeving 'kerasenv' te maken via de variabele 'venv'. De 'ls'-query laat zien dat de omgeving is gemaakt.

Nu moeten we ons verplaatsen binnen de virtuele omgeving van de Keras-map. We hebben dus de 'cd' -instructie gebruikt samen met de naam van een map met een virtuele omgeving. Daarna zijn we binnen de map 'bin' van deze virtuele omgeving gegaan en hebben we de sub vermeld. Om deze Python-omgeving te activeren, probeerden we de 'bron' -instructie in het querygebied samen met het 'activeren' -bestand. De virtuele omgeving wordt geactiveerd met de naam “kerasenv”.

Stap 06: Python-bibliotheken installeren

Nadat u de virtuele Python-omgeving met succes hebt ingesteld, moet u alle vereiste Python-bibliotheken installeren voordat u Keras installeert. Daarom hebben we de bibliotheek van de panda eerst in dezelfde virtuele omgeving geïnstalleerd met behulp van het 'pip' -pakket van Python.

Het systeem begint het te configureren in de virtuele omgeving van Python, zoals weergegeven in de afbeelding:

Nadat u de bibliotheek van de panda's hebt geïnstalleerd, probeert u de NumPy-bibliotheek op de volgende manier te installeren:

Installeer op een vergelijkbare manier de scipy-bibliotheek van Python in dezelfde omgeving.

Installeer nu de matplotlib-bibliotheek van Python in de omgeving.

Python gebruikt clustering- en regressie-algoritmen in machine learning om neurale netwerkmodellen uit te voeren. Hiervoor heeft het de sci-kit-leerbibliotheek die we aan het installeren zijn met het 'pip' -hulpprogramma, samen met de '-u' -optie om ook de vereiste pakketten te configureren.

De verwerking van de installatie van de scikit-bibliotheek is hieronder weergegeven:

Voor visualisatie in deep learning moeten we de seaborn-bibliotheek van Python installeren. Daarom hebben we het in dezelfde omgeving geïnstalleerd met de 'install' -query.

Stap 07: Keras-bibliotheek installeren

Na de installatie van alle noodzakelijke vereiste bibliotheken van Python, kunnen we Keras eindelijk installeren binnen de virtuele omgeving van Python. Het hulpprogramma 'pip' zal voor dit doel worden gebruikt in onze 'install' -query met de modulenaam, d.w.z. 'Keras'. Als het systeem laat zien dat er al aan de vereisten is voldaan, betekent dit dat het al is geïnstalleerd en geconfigureerd.

Als het nog niet is geïnstalleerd, wordt deze query zonder een vertraging van één seconde gedownload en geconfigureerd in de virtuele omgeving en wordt de verwerking weergegeven, zoals hieronder:

Na de volledige configuratie en installatie van de 'Keras' -bibliotheek op de virtuele omgeving, is het tijd om de volledige informatie hierover op de shell te tonen via de 'pip show' -query. De uitvoering van deze 'show'-query is de presentatie van de versie van Keras die is geïnstalleerd in onze virtuele omgeving van Python, de naam, de samenvatting, de startpagina van het web, de auteur, het e-mailadres van de auteur, de licentie, de locatie die het inneemt op ons systeem en vele meer zoals hieronder weergegeven:

Na de beste installaties van de Keras- en TensorFlow-bibliotheken van Python, moeten we de virtuele omgeving verlaten. Probeer daarvoor de 'deactivate'-query op de shell en sluit af.

Stap 08: installeer Anaconda Cloud

Python heeft een cloud genaamd 'Anaconda' die nodig is om voorbeelden van neurale netwerken in Python te bouwen. Daarom hebben we het uitvoeringsbestand naar ons systeem gedownload.

Dit bestand bevindt zich in de huidige thuismap van de Linux-machine volgens de 'ls'-query. Je moet er eerst voor zorgen dat het de checksum is, d.w.z. of het volledig correct is of niet via de sha256sum-query.

Daarna moeten we het gedownloade Bash-bestand van anaconda in ons systeem installeren met behulp van de 'Bash' -instructie en de bestandsnaam op dezelfde console. Het heeft ons gevraagd om de licentieovereenkomst vóór de installatie te bekijken. Dus tikten we op 'Enter' om door te gaan.

Na het doorlopen van de licentieovereenkomst, vraagt ​​het ons om op 'ja' te tikken als we akkoord gaan met de voorwaarden. U moet op Enter drukken om door te gaan met de installatie op dezelfde plaats of het pad naar de map schrijven waar u het wilt installeren. Gebruik anders 'Ctrl-c' om de installatie te annuleren.

Het zal de lange lijst met pakketten weergeven die in dit proces zullen worden geïnstalleerd. Na enige transactie-uitvoering zal het beginnen met het installeren van de pakketten.

Na een tijdje werd de anaconda met succes geïnstalleerd met zijn aanvullende pakketten.

U moet het 'activate'-bestand vanuit de anaconda-map via de 'source'-query als root uitvoeren.

Probeer de anaconda-navigator te starten met behulp van de volgende vraag.

Als u de nieuwe conda-omgeving wilt maken en eraan wilt werken, probeert u de instructie 'conda create' met de naamoptie gevolgd door de nieuwe omgevingsnaam, d.w.z. PyCPU.

Dit proces vereist onze bevestiging bij het creëren van de nieuwe omgeving. Tik op 'j'.

Om de nieuw gemaakte conda-omgeving te activeren en uit te voeren, gebruikt u de 'conda-activering' -query met de naam van uw nieuwe omgeving, d.w.z. de PyCPU-omgeving is nu geactiveerd.

Stap 09: Spyder IDE installeren

De Spyder IDE moet binnen deze omgeving worden geïnstalleerd voor de uitvoering van Python-programma's. Hiervoor hebben we de conda-installatiequery geprobeerd in de PyCPU-omgevingshell met het trefwoord 'spyder'.

Tik op “y” om door te gaan met het installeren van Spyder.

Stap 10: Panda's en Keras-bibliotheek installeren

Installeer na de installatie van Spyder de Python-bibliotheek van de panda in een anaconda-omgeving met behulp van de conda-installatiequery met de optie -c.

Druk nogmaals op de knop 'y' om door te gaan.

Installeer na de succesvolle configuratie van panda's de Keras-bibliotheek met dezelfde query.

Ga verder nadat u op de 'y'-knop hebt geklikt.

U kunt de Spyder IDE als volgt starten in de anaconda huidige omgevingsconsole:

De Spyder IDE heeft voorbereidingen getroffen om te starten.

De verborgen map “.keras” bevindt zich in de homedirectory. Maak het zichtbaar en open het bestand 'keras.json' om de volgende configuraties erin toe te voegen.

Keras en TensorFlow instellen op Windows

Om Keras en TensorFlow in een Windows-omgeving in te stellen, moet u ervoor zorgen dat de Python-taal samen met de 'pip' -bibliotheek en Anaconda Navigator er al op is ingesteld. Nadat je het hebt ingesteld, zou je het vanuit je zoekgebied moeten openen en binnen het tabblad 'omgevingen' moeten gaan. Op dit tabblad vindt u de omgevingsnaam waarin u momenteel werkt, d.w.z. base. In het onderstaande gebied vindt u het volgende tabblad. Tik op de optie 'maken'.

Hier moet u een nieuwe omgevingsnaam 'TensorFlow' maken, dat wil zeggen dat u zich momenteel in de basisomgeving bevindt. Selecteer de nieuwste versie van Python die moet worden gebruikt en tik op de knop 'Maken' om door te gaan.

U zult zien dat de omgeving begint te laden.

Na een tijdje wordt de TensorFlow-omgeving volledig geïnstalleerd.

Vanuit het meest linkse gebied kunt u alle geïnstalleerde en beschikbare bibliotheken en modules voor Python zien, zoals hieronder weergegeven:

Nu moeten we de TensorFlow-backendbibliotheek van Python installeren met behulp van dit gebied. Schrijf in de zoekbalk 'TensorFlow' en markeer hetzelfde case-pakket in de weergegeven lijst om het te installeren. Tik op de knop 'Toepassen' om door te gaan met de installatie van TensorFlow samen met de submodules zoals 'Keras'.

Het is begonnen te werken en de TensorFlow te configureren op onze Anaconda-omgeving.

Tijdens de installatie wordt de lijst met subpakketten weergegeven die op de Anaconda-omgeving zullen worden geïnstalleerd. Tik op de knop 'Toepassen' en wacht een tijdje totdat het klaar is.

Na een tijdje vindt u alle geïnstalleerde pakketten in hetzelfde modulegebied. U kunt zien dat de Keras-bibliotheek is geïnstalleerd met andere pakketten en dat we deze nu niet hoeven te installeren.

Zoek in de Windows-zoekbalk op het trefwoord 'Jupyter'. De applicatie met de naam 'Jupyter Notebook (TensorFlow)' zou samen met andere worden getoond. Tik erop om de jupyter Notebook te starten met de backend TensorFlow ingeschakeld. Maak een nieuw Python-bestand en ga aan de slag.

Diep leren via hard

Deep learning omvat een laag-voor-laag analyse van de intake, waarbij elke laag geleidelijk geavanceerde details uit de input haalt. Keras biedt een volledig raamwerk om elk soort neuraal netwerk te vormen. Zowel creatief als ongelooflijk eenvoudig te begrijpen, Keras. Het maakt neurale netwerkmodellen mogelijk, variërend van het meest naïeve tot het grootste en opperste complex.

Kunstmatig neuraal netwerk (ANN)

De 'Artificial Neural Network' (ANN) -methodologie lijkt de meest gebruikte en fundamentele methode van diep leren te zijn. Ze halen hun signalen uit de menselijke geest, de natuurlijke meest gecompliceerde component van ons lichaam, die als hun model dient. Meer dan 90 miljard microscopisch kleine cellen die 'neuronen' worden genoemd, vormen de hersenen van een individu. Axonen en dendrieten zijn soorten zenuwvezels die neuronen met elkaar verbinden. De primaire functie van een axon is om gegevens van het ene gekoppelde neuron naar het volgende te sturen. Voor meer informatie kunt u zoeken via de Google-zoekmachine.

Keras Architectuur

De Keras API-architectuur is ingedeeld in drie hoofdonderdelen die hieronder worden vermeld. Laten we een duidelijke dekmantel voor elk nemen.

  • Model
  • Laag
  • Kernmodules

Hard model

Het Keras-model bestaat uit precies twee typen, namelijk sequentiële en functionele API.

Sequentieel model

In wezen is een sequentieel model een chronologische compilatie van Keras Layers. Het eenvoudige, simplistische sequentiële model kan bijna alle neurale netwerken beschrijven die momenteel in gebruik zijn. Een aangepast model kan worden gemaakt met behulp van de modelklasse die het sequentiële model onthult. De subclassificatiebenadering kan worden gebruikt om een ​​eigen geavanceerd model te bouwen. De demonstratie van het sequentiële model is hieronder weergegeven.

Lagen toevoegen

Het script is gestart vanaf het importeren van de sequentiële modus via de keras.models en de andere regel heeft een sequentieel model gemaakt. Daarna creëert het importeren van de dichte laag een invoerlaag en voegt een invoerlaag toe aan een model. De verborgen dichte laag is gemaakt en toegevoegd aan het model en hetzelfde is uitgevoerd voor de uitvoer dichte laag.

Toegang tot het model

U kunt informatie krijgen over uw modellagen, de invoergegevens die het heeft gebruikt en de uitvoergegevens. Met de functie model.layers hebt u toegang tot alle lagen. De model.inputs zouden input-tensoren tonen, en model.output zal output-tensoren weergeven.

Het model serialiseren

Het model dat in het script wordt gebruikt, is eenvoudig terug te geven als een object of JSON. De functie get_config() levert bijvoorbeeld het model op als een entiteit/object. De functie from_config() maakt een nieuw model met het object als parametrische waarde.

U kunt uw model ook wijzigen in JSON met de functie to_json() .

Model Samenvatting

Roep de functie samenvatting() aan om de volledige samenvatting te krijgen met betrekking tot de lagen die in het model worden gebruikt, samen met wat aanvullende informatie.

Train en voorspel het model

Om te trainen en te voorspellen, zouden we in dit opzicht de compile-functie, fit-functie, evaluatie van de functie en predict-functie moeten gebruiken.

Harde lagen

Elke invoer-, verborgen en opbrengstlaag in het voorgestelde model van neurale netwerken komt overeen met een andere Keras-laag in het echte model. Elk geavanceerd neuraal netwerk kan snel worden ontwikkeld met behulp van tal van vooraf gebouwde lagen van de Keras-bibliotheek. Er zijn verschillende Keras-lagen die we hebben, d.w.z. kernlagen, poolingslagen, terugkerende lagen en convolutielagen. U kunt ze bestuderen door op internet te zoeken. De eerste twee regels hebben de sequentiële modus, de dichte laag, de activering en de dropout-laag geïmporteerd.



We hebben de Sequential() API geprobeerd voor het maken van een drop-out sequentieel model. Door het activeringsmodel 'relu' af te stoten, hebben we een dichte laag gecreëerd via de 'Dense' API. Om tegemoet te komen aan de overmatige passing van de dichte laag, hebben we de Dropout() API gebruikt, d.w.z. dropout-lagen via de dropout()-functie. Hierna hebben we hier een dichtere laag gebruikt met het 'relu' -activeringsmodel. Om de dichte lagen tegen te gaan te passen, moeten we gebruik maken van Dropout-lagen. Uiteindelijk hebben we onze laatste dichte lagen afgeworpen met behulp van het activeringsmodel van het 'softmax' -type.







Heb je ooit laagjes aangebracht tijdens het koken? Als dat zo is, dan zou dit concept niet moeilijk voor u zijn om te begrijpen. Het resultaat van één niveau zal dienen als invoergegevens voor de volgende laag. Hier zijn de basisdingen die nodig zijn om een ​​geheel nieuwe laag te bouwen:



  • Vorm gegevensinvoer
  • Totaal aantal neuronen/eenheden in een laag
  • Initializers
  • Regularizers
  • Beperkingen
  • Activeringen

Vorm gegevensinvoer

Binnen de Python-taal is elke soort invoer omgezet in een array van gehele getallen en vervolgens toegevoegd aan het algoritmemodel. Binnen Python moeten we de invoervorm specificeren om de uitvoer te krijgen volgens onze vereisten. In de volgende voorbeelden hebben we de invoervorm (3,3) gespecificeerd, d.w.z. 3 rijen en 3 kolommen. De uitvoer heeft de matrix weergegeven.







Initializers

De initialisatiemodule van Keras Layers biedt ons vele functies om een ​​specifiek gewicht voor invoergegevens te specificeren. Bijvoorbeeld, de functie zeros() specificeert 0 voor alle, de enen() specificeert voor alle, en de functie constant() specificeert een gespecificeerde constante waarde die door een gebruiker wordt toegevoegd voor alle en meer. Voor een beter begrip hebben we de functie identity() gebruikt om een ​​identiteitsmatrix te genereren. De rest van de functies kunnen ook worden doorzocht vanuit de zoekmachine.



Beperkingen

Er zijn verschillende beperkingsfuncties beschikbaar om beperkingen toe te passen op de parameter 'gewicht' van de laag, d.w.z. niet-negatief, eenheidsnorm, max norm, minmaxnorm en nog veel meer. In de volgende afbeelding hebben we de beperkingsnorm toegepast die kleiner is dan of gelijk is aan het gewicht. De parameter 'max_value' is de bovengrens van de toe te passen beperking en de as is de dimensie waarop de beperking zou worden toegepast, d.w.z. dimensie 1.

Regularizers

Tijdens de optimalisatie legt het verschillende kosten op aan de laageigenschap. Het kwam ook met een aantal functies om dit te doen, d.w.z. L1 regularizer, L2 regularizer en 'LI en L2' regularizer. Hier is de eenvoudigste illustratie van de L1-regulatorfunctie:

Activeringen

Een unieke functie, de activeringsfunctie genaamd, wordt gebruikt om te bepalen of een bepaald neuron actief is of niet. De activeringsfunctie transformeert de binnenkomende gegevens op een complexe manier, waardoor de neuronen effectiever kunnen studeren. Hier zijn verschillende activeringsmethoden die worden gepresenteerd in de onderstaande voorbeelden:

Harde modules

Zoals we weten, bevatten programmeermodules meestal functies, klassen en variabelen die voor verschillende en specifieke doeleinden kunnen worden gebruikt. Zo bevat de Keras-bibliotheek van Python veel modules. U kunt alle benodigde kennis over de Keras-modules van internet halen.

Backend

Een van de meest bekende en gebruikte modules is de 'Backend' -module die is ontworpen om de backend-bibliotheken van Python zoals TensorFlow en Theano te gebruiken. Met behulp van de backend-module kunnen we zoveel mogelijk backend-functies uit de TensorFlow- en Theano-bibliotheek gebruiken. Om de backend-bibliotheekmodule te gebruiken, moeten we de backend-bibliotheek specificeren die moet worden gebruikt in het configuratiebestand 'keras.json, dat we hebben gemaakt in de verborgen .keras-map. Standaard is de backend gespecificeerd als 'TensorFlow', maar u kunt deze ook wijzigen in een andere, bijv. Theano of CNTK.

In ons voorbeeld zullen we de TensorFlow-bibliotheek als backend gebruiken. Om de configuraties van de backend te laden vanuit het keras.json bestand van de root “keras” map, gebruik je:

  • van keras importeer backend als k

Na het succesvol importeren van de backend uit het keras.json-bestand, is het tijd om de backend-informatie op te halen met behulp van de variabele 'k' met de variabele die moet worden opgehaald. Ten eerste hebben we de naam opgehaald van een backend die we hebben gebruikt en die we al hebben geïmporteerd met de functie 'backend()'. Het retourneert de 'Tensorflow' als zijn backend-waarde. Om de float-waarde van de backend te krijgen, hebben we de floatx()-functie aangeroepen via het variabele 'k'-object van Keras. Het laat zien dat we de float32-waarde hebben gebruikt.

Gebruik de functie image_Data_format() met de variabele 'k' om het formaat van afbeeldingsgegevens te krijgen. Bij gebruik laat het zien dat onze backend het beeldgegevensformaat 'channels_last' heeft gebruikt. Om het exponentvermogen voor de backend te krijgen, roept u de functie epsilon() aan met de variabele 'k'. Het geeft aan dat de backend de exponentiële kracht van '07' zal gebruiken. Dat heeft alles te maken met het ophalen van backend-informatie.

Get_uid() Functie

Het is tijd om enkele backend-functies van TensorFlow te bekijken om de functionaliteit ervan te begrijpen. Een van de meest gebruikte backend-functies 'get_uid() functie die wordt gebruikt om de standaardgrafiek te identificeren die we hebben gebruikt. Als u het gebruikt met de parameter prefix = '' zou '1' worden geretourneerd, d.w.z. volgens het gebruik. Nogmaals, het gebruik ervan zou '2' retourneren zoals we het opnieuw hebben genoemd en de waarde van de grafiek is verhoogd. Na gebruik van de functie 'reset_uids', zou de waarde van de gebruikers-ID van de grafiek worden gereset naar 0. Daarom zou het opnieuw gebruiken van de functie get_uid() deze met 1 verhogen.

Tijdelijke aanduiding() Functie

De tensor heeft de functie placeholder() gebruikt om er verschillende dimensionale vormen in te bewaren. In de volgende illustratie hebben we het bijvoorbeeld gebruikt om het 3D-beeld in tensor te houden via de Keras-variabele 'k' en het op te slaan in een andere variabele 'd'. De uitvoer van variabele 'd' toont de eigenschappen van een vorm die in de tijdelijke aanduiding wordt gebruikt.

De functie 'int_shape()' wordt gebruikt om de vorm weer te geven van een waarde die is opgeslagen in de tijdelijke aanduiding 'd'.

Punt() Functie

Heb je ooit twee vectoren vermenigvuldigd? Als dat zo is, zal het voor u geen uitdaging zijn om twee tensoren te vermenigvuldigen. Hiervoor heeft de backend-bibliotheek de 'dot' -functie bedacht. Om de twee verschillende vormen vast te houden, hebben we eerst de vormwaarden in de functie placeholder () in de eerste 2 regels gebruikt om twee houders 'x' en 'y' te maken. De functie dot() heeft de houders 'x' en 'y' gebruikt om beide tensoren te vermenigvuldigen en het resultaat op te slaan in een andere variabele 'z'. Bij gebruik van de 'z' tensor voor afdrukken, werd de vermenigvuldigde resulterende tensorvorm (1, 5) op het scherm weergegeven.

Ones() Functie

De functie one() van de backend-module staat erom bekend alle waarden van een bepaalde vorm op 1 te initialiseren. We hebben bijvoorbeeld de functie one() op de tensorvorm (3,3) gebruikt en het resultaat opgeslagen in de variabele 'v'. De functie eval() wordt hier afgestoten om de waarde van een variabele 'v' te evalueren en weer te geven in de Python-omgeving. In ruil daarvoor heeft het de vorm (3,3) geconverteerd naar een matrixmatrix van allemaal met het float32-gegevenstype.

Batch_dot() Functie

De tensorbatch zou het totale aantal monsters specificeren dat moet worden gesorteerd voordat een model wordt bijgewerkt. De functie batch_dot() van de TensorFlow-backend wordt voornamelijk gebruikt om het vermenigvuldigingsresultaat van twee verschillende batchgegevens te achterhalen. Daarom hebben we twee tensorvariabelen v1 en v2 gemaakt en de functie Input() gebruikt om ze in v1 en v2 als invoer op te slaan. Daarna hebben we de functie batch_dot() geprobeerd op beide tensorvariabelen, v1 en v2, en de resulterende waarde zou worden opgeslagen in een andere variabele 'v3'. Bij het afdrukken van de variabele v3 vonden we de resulterende vorm (2,2) terug.

Variabele functie

Als je ooit aan een andere taal hebt gewerkt, heb je misschien veel variabelen geïnitialiseerd met het trefwoord 'var' of zonder. Vaak hebt u de variabelen misschien geïnitialiseerd met hun gegevenstypen, zoals geheel getal, tekenreeks of teken. Binnen de Python Keras-bibliotheek kunnen we elke variabele maken met behulp van de variabele () -functie op sommige tensorgegevens in de vorm van voorbeelden.

In de volgende afbeelding hebben we een variabele 'd' gemaakt door de voorbeeldlijstgegevens van twee toe te voegen aan een variabele() -functie met het Keras-object 'k'. Nadat we deze variabele hebben toegevoegd, hebben we de functie transpose() op deze variabele 'd' aangeroepen om de transponering van een voorbeeldgegevens erin te achterhalen via het Keras-object 'k'. De resulterende transponering zou worden opgeslagen in een variabele 'val'. De print-instructie van de Python-taal is hier gebruikt om de waarde van de resulterende variabele 'val' af te drukken. De printopdracht heeft de functiekeuze weergegeven die we hebben toegepast op de variabele 'd' en het totale aantal elementen in elke lijst.

Hierna probeerden we de 'eval' -functie op de 'val' -variabele om de transponering van de monsters toe te voegen aan de variabele 'd' en de afdrukfunctie gaf deze weer. U kunt de transponering van twee lijsten in de uitvoer zien.

De vorige code-illustratie werd bereikt door het gebruik van eenvoudige Python-functies zonder een bepaalde Python-bibliotheek te importeren. De 'transponering' van twee datasets kan worden gevonden met behulp van de NumPy-arrays. Hiervoor moeten we de NumPy-bibliotheek aan het begin als 'n' importeren. Het basisformaat is hetzelfde, maar we moeten de vormgegevensset initialiseren met het sleutelwoord 'array' in plaats van het sleutelwoord 'variabele'. De voorbeeld-NumPy-array moet worden teruggebracht tot de variabele 'd'. Hetzelfde NumPy-object 'n' wordt gebruikt om de functie transpose() op de variabele 'd' aan te roepen en het resultaat op te slaan in de variabele 'val'.

Het printstatement heeft de variabele 'val' erin aangeroepen om de transponeertensor ervan weer te geven. U kunt zien dat om de resulterende getransponeerde waarde van de variabele 'val' weer te geven, we de functie 'eval' hier niet nodig hebben. Nu hebben we de variabelefunctie met het argument 'd' gebruikt en het resultaat opgeslagen in de variabele 'z'. Na het printstatement geprobeerd te hebben door de argumentwaarde 'z' erin toe te voegen, werd de uitvoer weergegeven in hetzelfde vorige formaat dat we hebben geprobeerd in het bovenstaande variabelevoorbeeld.

Is_sparse() Functie

Het woord 'sparse' in tensor wordt gebruikt voor een schaarse tensor die meestal vermeldingen met nullen bevat. In dit voorbeeld zullen we de functie is_sparse() van de backend-module gebruiken om te controleren of de tensor de meeste nullen heeft of niet.

Ten eerste hebben we de functie placeholder() aangeroepen om de tensorvorm (3,3) vast te houden, samen met het argument Sparse ingesteld op true. Deze tijdelijke aanduiding-waarde zou worden bewaard op de veranderlijke 'x' en weergegeven. De uitvoer heeft de informatie met betrekking tot de tijdelijke aanduidingsvariabele 'x' weergegeven.

Het gegevenstype, de vorm en de functie ervan worden er bijvoorbeeld op toegepast. Hierna hebben we het print statement nogmaals geprobeerd door de functie is_Sparse() erin aan te roepen. Deze functie heeft de variabele 'x' als argument gebruikt om aan te geven of de 'x' tensor schaars is of niet. De uitvoer geeft 'waar' weer.

To_dense() Functie

Er wordt gezegd dat de dichte tensor degene is die het chronologische geheugenblok gebruikte om de informatie op een aangrenzende manier op te slaan en ook de waarden van informatie weer te geven. Met de functie 'to_dense()' van de backend-module kunnen we de schaarse tensor converteren naar een dichte tensor. Daarom nemen we dezelfde tijdelijke aanduiding-functie om de tensor toe te voegen aan variabele 'x' en deze tensor is ingesteld op 'sparse'.

De functie 'to_dense()' wordt toegepast op de dichte tensorvariabele 'x', d.w.z. om deze om te zetten in een dichte tensor en deze op te slaan in een andere variabele 'res'. Nu is de 'res' zelf een dichte tensor. Het printstatement is verwijderd om de variabele 'res' af te drukken. Het gebruik van print statements voor de 'res' variabele gaf de informatie weer over de 'res' geconverteerde variabele, d.w.z. succesvol geconverteerd dun naar dicht en nog veel meer.

Vervolgens wordt een andere afdrukfunctie aangeroepen door de functie is_sparse() erin te gebruiken om te controleren of de variabele 'res' schaars is of niet. De uitvoer heeft laten zien dat de variabele 'res' niet schaars is, d.w.z. omdat we deze al naar een 'dichte' tensor hebben omgezet.

Willekeurige_uniform_variabele() Functie

De functie random_uniform_variable() in de backend-module van Keras is speciaal ontworpen voor de initialisatie van een tensor via de uniforme distributie. Er zijn in totaal drie argumenten nodig. Het allereerste argument 'vorm' wordt gebruikt om de rijen en kolommen van de vorm binnen de tupelvorm te definiëren. Als je wiskunde hebt gedaan, heb je misschien het concept van gemiddelde en standaarddeviatie geleerd.

In de methode random_uniform_variable() zijn de volgende twee argumenten de gemiddelde en typische afwijking van een uniforme verdeling. In deze illustratie hebben we twee tensoren 'x' en 'y' geïnitialiseerd met behulp van de standaard uniforme verdeling via de functie random_uniform_variable(). Beide tensoren bevatten verschillende vormformaten, d.w.z. rijen en kolommen met hetzelfde gemiddelde en dezelfde standaarddeviatie, d.w.z. laag=0 en hoog=1.

Hierna werpen we de 'dot' -functie af en nemen de 'x' en 'y' tensors erin voor vermenigvuldiging. Het resultaat van deze vermenigvuldiging zou worden opgeslagen in de variabele 'z'. Uiteindelijk is de int_shape() een must om te gebruiken om de vorm van een resulterende tensor 'z' weer te geven. De uitvoer toont de tensor (2,2).

Hulpprogramma's

Als u enkele van de zeer nuttige functies van het deep learning-concept van Python wilt gebruiken, moet u de utils-module van de Keras-bibliotheek in uw scripts gebruiken. Als u bijvoorbeeld uw gegevens in HDF5Matrix-indeling wilt weergeven, moet u de klasse HDF5Matrix importeren en de HDF5Matrix-functie ervan in het script gebruiken.

To_categorical() Functie

Met deze functie kunt u een klassenvector wijzigen in een matrix, d.w.z. een binaire klassenmatrix. Laten we zeggen dat we de functie to_categorical() uit de utils-module hebben geïmporteerd en een vector 'A' hebben geïnitialiseerd. De vector 'A' is doorgegeven aan de functie to_categorical(). De binaire matrix voor deze klassevector 'A' is weergegeven.

print_summary() Functie

Om de samenvatting af te drukken van een model dat we in onze omgeving hebben afgeworpen, is de functie print_summary gebruikt.

plot_model() Functie

De functie plot_model() geeft het model aan in een puntformaat en laat u het in een document opslaan.

Conclusie

Samenvattend kunnen we zeggen dat de Python-taal een noodzakelijke taal is voor het huidige tijdperk, omdat alles snel gaat en de technologie zo waanzinnig snel evolueert. Gedurende deze leerrichtlijn hebben we de Keras-bibliotheek van Python in Deep Learning en kunstmatige neurale netwerken gebruikt. Hiervoor hebben we ook het belang en het gebruik van de backend-bibliotheek 'TensorFlow' doorgenomen om een ​​duidelijk begrip te krijgen. Daarnaast hebben we elke configuratie besproken en uitgelegd die nodig is om de Keras- en Anaconda-omgeving in Python in te stellen binnen het Ubuntu 20.04 Linux-besturingssysteem. Hierna hebben we de Keras-modellen, -lagen en -modules één voor één grondig besproken, samen met hun meest gebruikte functies. Raadpleeg de officiële documentatie voor de demonstratie van het Function API-model.