‫We hebben gezien hoe een afbeelding eruitziet, een intensere vorm, laten we deze kleine functie bouwen die
‫de stappen hier gaat uitvoeren.
‫Dus wat we zouden kunnen doen, is ze gewoon kopiëren, zodat we ze hieronder kunnen zien.
‫En ik ga hier gewoon een kleine cel schrijven.
‫Nu hebben we gezien hoe een afbeelding eruitziet als een Tensas.
‫Laten we een functie maken voor voorbewerking.
‫Oke.
‫Dus wat we zouden kunnen doen, is hier een variabele definiëren, afbeeldingsgrootte twee, 24, en je vraagt je misschien af.
‫Zoals ik altijd doe als ik dit soort dingen zeg die niet worden uitgelegd, wat is twee vierentwintig, waar heb ik
‫dat vandaan?
‫Dat gaan we in een latere video zien wanneer we een machine learning-model uitkiezen dat we kunnen
‫gebruiken.
‫En dus zorgt veel machine learning ervoor dat de grootte van uw invoer of de vorm van uw invoer wordt bepaald.
‫In ons geval afbeeldingen met het model dat u gebruikt.
‫Nogmaals, we zullen dit later bespreken.
‫Maar in wezen zorgen we ervoor dat onze afbeeldingen die we invoeren in een machine learning-model deze vorm
‫hebben.
‫Dus twee vierentwintig hoog tot vierentwintig breed, want dat is wat het machine learning-model is dat we
‫gaan gebruiken, dat trainde op afbeeldingen in dezelfde vorm.
‫Onthoud hoe belangrijk het is om gegevens in dezelfde indeling en vorm aan uw machine learning-model toe te voegen als waarmee het
‫is getraind wanneer u voorspellingen probeert te doen.
‫Maar dat zie je later in de praktijk.
‫Maar laten we deze functie schrijven.
‫Maak dus een functie voor het voorbewerken van afbeeldingen.
‫Dus ik ga dit mooie en eenvoudige procesbeeld noemen.
‫Het gaat om een afbeeldingspad als invoer.
‫En.
‫Een beetje manipulatie zou kunnen zijn om een afbeeldingsbestandspad te nemen en de afbeelding in een Tensas te veranderen, zoiets eenvoudigs, we zouden het
‫later een beetje intuïtiever kunnen maken.
‫Maar om te beginnen is dat genoeg om het voor onszelf uit te leggen.
‫We willen dus een afbeeldingsbestand inruilen.
‫En om dat te doen, slaan we het op in een variabele met de naam afbeelding.
‫En als we nu het laden van afbeeldingen lezen, kunt u dit doen om andere soorten gegevens te schrijven.
‫Er zijn tekstgegevens daar.
‫Er is een dataframe dat numpties is ESV. Maar als we daar doorheen lezen, zien we dat we naar Eyo kunnen
‫gaan voor invoer, uitvoer, leesbestand.
‫Daar gaan we.
‫Wat is dit teken leest en geeft de volledige inhoud van de invoerbestandsnaam weer?
‫Nou, dat is logisch, retourneert een Tenzer van het type string.
‫Mooi.
‫Laten we het beeldpad doen, maar geloof me niet op mijn woord.
‫Wat we zullen doen is en ik wil dat je deze gewoonte ook overneemt, als je ooit een functie ziet
‫waarvan je niet helemaal zeker weet wat hij doet, herschrijf hem dan regel voor regel.
‫Dus laten we dit eens bekijken.
‫We gaan Tensas is gelijk aan twee nadat ik het leesbestand heb gelezen en dan hebben we een afbeeldingspad nodig met bestandsnamen.
‫Ik ben zesentwintig, dus we krijgen vier namen.
‫Zesentwintig.
‫En hoe ziet dat eruit?
‫Oh, dus het heeft de vorm van een touwtje.
‫En dan een hele reeks karakters die ik niet begrijp, maar dat is niet erg, want de computer
‫begrijpt ze beter dan ik.
‫Dus wat het heeft gedaan, is dat het gewoon de bestandsnaam heeft genomen en de inhoud heeft omgezet in.
‫Deze lange, Tenzer, prachtig, dus de volgende stap is om het bestand te lezen en op te slaan als afbeelding.
‫Ja, verander onze afbeelding in een jpeg in tijden.
‫Oké, laten we dat doen.
‫Verander de JPEG-afbeelding in numerieke tensor met drie kleurkanalen.
‫Rode regen.
‫Blauw.
‫En nogmaals, bekijk de ladende afbeeldingen, documentatie, dus we gebruiken deze variabele hier opnieuw.
‫Nu gaan we het resetten om teft of beeldpuntdecodering te zijn, kijk hoe we een aantal opties hebben hier gaan we naar PNG, wat
‫het type afbeeldingsbestand is dat we JPEG gaan gebruiken omdat onze afbeeldingen in JPEG zijn afbeelding en dan
‫passeren we de variabele.
‫Kanalen, de kanalen geven het gewenste aantal kanalen aan voor het gedecodeerde beeld, in ons geval willen we drie, vier
‫rood, groen en blauw.
‫Mooi.
‫Nu, nogmaals, als we precies willen weten wat dit doet, laten we Tenzer nemen en achter een afbeelding aan
‫gaan om te coderen.
‫JPEG neemt Tensas en dan gaan we kanalen gelijk aan drie.
‫O, kijk eens aan.
‫Je hebt precies dezelfde soort gegevens als die we hier hebben.
‫Prachtig.
‫Oke.
‫Om tijd te besparen, gaan we nog een paar regels in deze functie schrijven, maar
‫we zullen niet dezelfde stappen doorlopen.
‫Dat is wat ik wil.
‫Ik wil dat je wat oefent.
‫Als je bijvoorbeeld een functie doet en je bent benieuwd wat die doet.
‫Probeer het regel voor regel op te schrijven en kijk wat er gebeurt.
‫Dus je zult me moeten vertrouwen met wat deze lijnen doen.
‫Zet dus de kleurkanaalwaarden om.
‫Dit wordt dus normalisatie genoemd.
‫Ik zal eerst de code schrijven en je er dan over vertellen van nul tot 255 tot nul
‫tot één waarden, dus we willen gaan image is gelijk aan after image converteer afbeelding D type afbeelding naar float 32.
‫Nu, wat is een doctrine hier, converteer de afbeelding naar Daytop en schaal de waarden indien nodig.
‫Afbeeldingen die worden weergegeven met drijvende-kommawaarden, hebben naar verwachting waarden in het bereik nul
‫één.
‫Prachtig.
‫Nu denk je misschien hoe.
‫Hoe weet je dit, Daniël?
‫Hoe weet je dat je het van nul naar 255 moet converteren naar tussen nul en één?
‫Nou, eigenlijk heb ik gelogen.
‫Ik zei dat we daar niet naar zouden kijken, maar dit is een goede om te onderzoeken.
‫Zodat je het kunt zien, we hebben daar waarden tussen nul en 255 en nu.
‫Ik zal dit doen, oh nee, dat wil ik eigenlijk niet, uh, mezelf hier verknoeien, dit herhalen.
‫Herhaal dit.
‫Dus ik wil gewoon laten zien wat dit doet.
‫Dus afbeelding converteren.
‫Dus eigenlijk is alles wat het doet, het converteert onze waarden, het schaalt ze in plaats van tussen nul en 255 te zijn,
‫ze zijn nu tussen nul en één met dezelfde schaal.
‫Vlotter 32.
‫Oh.
‫Topvlucht 32.
‫Prachtig.
‫Dus we hebben dezelfde vorm, maar in plaats van tussen nul en 255, zijn ze nu tussen nul
‫één en nu maakt dit type proces het computeren op deze efficiënter.
‫Dat is het meeste dat u moet weten.
‫Dat heet normalisatie.
‫En nogmaals, dit komt gewoon rechtstreeks uit het laden van afbeeldingen, documentatie.
‫Wat moeten we nu doen?
‫Eigenlijk denk ik niet dat we hier een stap voor hadden.
‫Ze moeten misschien ons beeld normaliseren, converteren naar kanaalwaarden van nul naar 255 naar nul naar één.
‫Ik krijg vijf, zes, oké, nu, eindelijk, we kunnen de afbeelding nu verkleinen, ik geloof dat je me vertrouwt en wat deze regel
‫gaat doen.
‫Dus we gaan het niet uittypen.
‫Dat laat ik aan jullie twee over.
‫Vierentwintig tot vierentwintig in feite een vierkant.
‫Precies.
‫Een vierkant eigenlijk.
‫Afbeeldingspunt formaat wijzigen.
‫Bronnen, afbeeldingen op maat volgens de opgegeven methode.
‫OK, en nu willen we het formaat van de afbeelding wijzigen en de grootte wordt hyp.
‫Wacht, nu begrijp je waarom we dit hier definiëren, misschien dat als we
‫deze functie een beetje beter zouden schrijven, we de afbeeldingsgrootte als afbeeldingsgrootte zouden kunnen importeren.
‫Dat is waarschijnlijk een beetje beter.
‫Geweldig, en nu zul je dit soort oefening krijgen als je begint met het schrijven van je eigen functies de eerste keer dat
‫je een functie schrijft en waarschijnlijk behoorlijk slecht, behoorlijk verschrikkelijk bent.
‫Maar als u begint uit te werken wat uw workflow is, begint u te begrijpen hoe u een betere functie
‫kunt schrijven.
‫Nu kunnen we de afbeelding retourneren.
‫Dus wat is dit gedaan?
‫Heeft het precies gedaan wat we net zeiden, er is een afbeeldingspad en een afbeeldingsgrootte voor nodig, we kunnen dat hier
‫definiëren.
‫Het leest in het afbeeldingsbestand van de POV-naam Beautiful.
‫Het verandert de JPEG in numerieke Tenzer, dus we converteren het gewoon naar een Tenzer met drie kleurkanalen
‫rood, groen en blauw, want dat is de conventie voor de meeste deep learning-beeldmodellen.
‫Ze willen rood.
‫Ik zei lees niet dat dat een slechte zaak is.
‫Lezen is een groot goed.
‫Vervolgens hebben we de kleurkanalen van nul naar 255 geconverteerd naar nul naar één waarde en ten slotte hebben we het formaat van de afbeelding aangepast
‫naar onze gewenste waarde.
‫Nu hebben we in een functie geschreven.
‫Het mooie is dus dat we dit later kunnen gebruiken.
‫Dit is wat ik vroeger deed, toch?
‫Ik doorliep deze coderegels elke keer als ik een afbeelding wilde verwerken, vreselijke workflow, zodat we
‫deze daadwerkelijk kunnen verwijderen.
‫Onthoud dat als je wilt zien wat de functie eigenlijk doet, je het regel voor regel opsplitst,
‫een afbeeldingspad als invoer typt en dan kijkt wat de rest doet.
‫Nu, ik denk dat dat genoeg is voor deze video.
‫We hebben onze functie gemaakt, klaar om enkele afbeeldingen voor te verwerken.
‫Welnu, we zouden het nu opnieuw kunnen doen, als we de laadgegevensintensieve stroom zouden lezen.
‫Ik denk dat het deze is.
‫Ja.
‫Terug naar hier, er is hier een kleine sectie die de neiging heeft om te stromen, dingen graag in de
‫vorm van batches ziet.
‫Dus we zullen uitzoeken welke batches zijn in de volgende video.