‫Ik hoop dat je er klaar voor bent, want nu is het tijd om een model te trainen op de volledige data.
‫We hebben geverifieerd dat alles werkt door onze modellen en voorspellingen te controleren, ze te evalueren en
‫te gaan, ja, ons model leert zeker iets.
‫Maar aangezien we het alleen op duizend afbeeldingen hebben getraind, laten we eens kijken of we een volledig
‫schaalmodel kunnen trainen, zoals onze eerste volledige deep learning-modeltraining op meer dan 10.000 afbeeldingen.
‫En dit is waar de kracht van de functies die we eerder hebben gemaakt, echt een rol gaan spelen.
‫Dus laten we een beetje voor onszelf beginnen, een model trainen, laten we het eigenlijk een groot
‫hondenmodel noemen.
‫En misschien zetten we hier een kleine Mojie.
‫Op de volledige gegevens en je krijgt het grote hondenmodel, omdat we het op veel afbeeldingen van honden proberen.
‫Ik hou nu van dit project.
‫Code, wat we nodig hebben is onthouden, helemaal bovenaan, als je dat niet doet, is dat goed.
‫We gaan het nu bekijken.
‫We hebben X en Y, Lennix Y, en dit gaat allemaal over trainingsgegevens.
‫Dit zijn de bestandsnamen en dit zijn de labels.
‫Dus als we hier komen, zijn X alle bestandsnamen in de trein.
‫Dus als we kijken naar de eerste misschien 10 van X, 10 van X.
‫Dit zijn al onze bestandsnamen voor trainingsafbeeldingen, we hebben deze eerder opgesplitst in X-trein, die slechts 800 lang
‫is.
‫Daar gaan we.
‫Dus als we naar X-trein kijken.
‫Slechts 800 afbeeldingen, dus op dit moment heeft ons model alleen getraind op 800 afbeeldingen, en als
‫we willen zien waarom, waarom zijn de labels dan aan elk bestandspad gekoppeld?
‫In de vorm van Boulin of rijst.
‫Dus wat moeten we doen om een volledig model te trainen als we terugkomen op onze Keano, wat is onze workflow?
‫Gegevens klaarzetten, omzetten in Tensas?
‫Daar hebben we een functie voor.
‫Weet je nog?
‫Gegevensbatches maken.
‫Als je dat niet doet, is het in orde.
‫We hebben daar een functie voor gemaakt en we hebben een model gekozen dat bij je probleem past.
‫Dat hebben we dus.
‫We kunnen gewoon model maken gebruiken en vervolgens het model aanpassen aan de gegevens en een voorspelling doen.
‫Laten we het eens proberen.
‫Laten we dus een gegevensbatch gaan maken.
‫Met de volledige dataset, dus dit is waar functies echt helpen later in je notebook, ik zei je
‫dat het de moeite waard was, want data is gelijk aan het maken van databatches.
‫Kijk hier eens naar, dit is onze functie die we hierboven hebben geschreven, maakt gegevens, batches van gegevens van afbeelding
‫X en label Y-paren, mooi schudt de gegevens als het aan het trainen is, maar dat doet het niet.
‫Dat is een beetje een hindernis die we niet kunnen zien en die ook de input van de erflater accepteert.
‫Geen etiketten.
‫Dus dat is in orde.
‫Dit zijn geen trainingsgegevens, dus laten we een volledige databank maken.
‫Nu kijken we naar de volledige gegevens.
‫Het is een slechte dag om mooi te zijn met afbeeldingen en labels, geweldig, en als je je afvraagt wat het maken
‫van gegevenspatches eigenlijk doet.
‫Laten we meteen weer naar boven gaan als we onze index hier bekijken.
‫Wat doen we?
‫Databatches visualiseren?
‫Verander onze gegevens in batches.
‫Dus hier is onze grote functie, gegevensbatches maken, er zijn X en Y voor nodig.
‫En dit is wat er gebeurt, dit komt omdat het een trainingsgegevensset is, die trainingsgegevens en badges maakt en X en
‫Y in tijden verandert.
‫Het schudt ze door elkaar en vervolgens brengt het onze verwerkingsbeeldfunctie in kaart en krijgt het een gelabelde functie voor de
‫gegevens.
‫En dan verandert het de gegevens in een batchgrootte van 32.
‫Maar we hebben daar al een video over gezien.
‫Dus als je een opfriscursus nodig hebt, ga dan terug en bekijk de video waarin we deze functie hebben gemaakt.
‫Dus laten we teruggaan naar waar we waren.
‫Dus nu hebben we onze gegevens terug.
‫Wat is de volgende stap?
‫We hebben een model nodig.
‫Dus laten we een model maken voor het volledige model voor model is gelijk aan model maken.
‫Onthoud wat ik maak model functie deed.
‫Oh, geen dokter.
‫Hmm, laten we dat toch maar eens doen.
‫We kunnen gaan kijken.
‫Dus een model bouwen met TFR dev image net, mobiel net V2.
‫Dus we hebben een model.
‫OK, we hebben een batch dataset en we hebben een model.
‫Als we nu willen zien wat het creëren van een model doet, waar bouwt het dan een model.
‫Als we hier komen, is dit onze functie voor het maken van een model, het heeft geen doctrine, misschien is dat iets dat je zou
‫kunnen toevoegen.
‫Creëer dus een functie die een mantelzorgmodel bouwt.
‫Dus wat het gaat doen, is de stappen doorlopen die eerder nodig waren om een sequentieel model te maken met
‫behulp van het model waarvan we hebben gedownload, volgt meestal de hub en een dichte laag bovenaan om ervoor te zorgen dat onze
‫outputs dezelfde grootte hebben als de labels dat we hebben.
‫Het gaat het model compileren met een verliesfunctie en optimaliseren, dat is onze vriend Adam, de man
‫aan de onderkant van de heuvel, die ons vertelt hoe we de heuvel af moeten dalen
‫bij de International Hill-afdalingskampioenschappen en metrieken is nauwkeurigheid is wat we' opnieuw wat we meten.
‫En dan bouwen we het model dat wordt gevoed met de invoervorm, de grootte van onze afbeelding.
‫Prachtig.
‫Terugkomen.
‫Dus hoe kunnen we dit trainen?
‫Wat is het volgende?
‫Wat doen we hierna?
‫Wel, we hebben een aantal callbacks gemaakt, dus het kan zijn dat we een aantal specifieke callbacks moeten maken voor onze modellen.
‫Laten we dat doen.
‫Laten we een volledig model callbacks gaan maken.
‫Volledige modelspanning aan boord van ECLSS.
‫Bord maken, terugbellen.
‫Daar gaan we.
‫Er is onze functie van vroeger om een 10 Bolkovac te maken. Onthoud dat de Tensor-bordcallback ons helpt om de prestaties
‫van ons model te volgen en het met anderen te vergelijken.
‫En dus is er geen validatie ingesteld bij het trainen op alle gegevens.
‫Dus zonder het vroegtijdig stoppen van terugbellen, kunnen we de validatienauwkeurigheid niet controleren, dus voor onze vroege stop bij terugbellen hebben we het vroegtijdig
‫stoppen van het volledige model nodig.
‫Is gelijk aan twee verzorgers, stippen terugbellen, stippen voortijdig stoppen.
‫Daar gaan we, en we gaan ervoor zorgen dat het de nauwkeurigheid bewaakt wanneer ons model
‫traint op de telefoongegevens, wanneer de nauwkeurigheid drie tijdperken niet meer stijgt.
‫We gaan ervoor zorgen dat hij stopt met trainen, zodat hij niet overbelast raakt of we gaan proberen te voorkomen dat
‫hij te veel overvoert.
‫Dus verschuiven en binnenkomen.
‫Prachtig.
‫Het lijkt erop dat we een recept hebben om ons model te gaan trainen, dus pas het volledige model aan de volledige gegevens
‫aan.
‫Dus hier kunnen we heen.
‫We kunnen voor model gaan, niet passen.
‫Dus we noemen het model dat we hebben gemaakt.
‫Outfit X is gelijk aan de volledige gegevens.
‫Nu, er is geen validatieset, onthoud, omdat we trainen op de volledige gegevens, tijdperken
‫zullen 100 zijn of het kunnen gewoon NUM tijdperken zijn omdat we Naameh Parks eerder hebben ingesteld en we zullen callbacks hebben,
‫die zijn de twee callbacks die we zojuist hebben gemaakt.
‫Dit doet precies dezelfde stappen als wat we hebben gedaan, een kleiner model trainen, maar deze
‫keer met meer gegevens.
‫Prachtig.
‫En nu ga ik hier een briefje plaatsen om je een beetje op
‫de hoogte te houden en ik ga het uitspreken zodat je ook weet dat het een tijdje duurt, misschien tot 30 minuten of misschien een
‫beetje langer.
‫30 minuten voor het eerste tijdperk, omdat de GPU die we gebruiken en de runtime alle afbeeldingen in het geheugen
‫moet laden.
‫Dus de eerste luchthaven, onthoud, met ons kleinere model op duizend afbeeldingen, de eerste Depok duurde een paar
‫minuten, misschien drie of vier minuten, zoals je je kunt voorstellen, omdat deze op de volledige dataset
‫staat.
‫Het is trainen met 10000 afbeeldingen.
‫Het zal dus wat langer duren om alle gegevens voor de eerste APOC te laden.
‫Dus voordat we dit uitvoeren, zolang alle codes correct zijn, kan het eigenlijk worden uitgezonden.
‫Dat is waarom we, in plaats van de volledige gegevens vanaf het begin uit te proberen, ervoor hebben gezorgd dat alles werkt,
‫want bij het trainen van een volledige machine, leren of een volledig deep learning-model.
‫Het kan vrij lang duren, en aangezien we hier behoorlijk geluk hebben, gaat dit binnen een uur trainen
‫omdat we een GPU gebruiken.
‫Maar je kunt je voorstellen dat als je bij een groter bedrijf werkt, je misschien een week iets
‫laat trainen.
‫Dus daarom wil je ervoor zorgen dat wanneer je experimenten opzet, je je voorstelt een hele week
‫een deep learning-model te trainen en dan blijkt dat het niet werkte.
‫Daarom hebben we alle bovenstaande stappen uitgevoerd om ervoor te zorgen dat alles werkt.
‫Dus voordat we een enorm model gaan trainen, kunnen we er zeker van zijn, OK, de dingen zijn op hun plaats.
‫Laten we beginnen met een volledige trainingsronde.
‫Dus je bent klaar.
‫We staan op het punt ons eerste volledig ontwikkelde deep learning-model te trainen met meer dan 10.000 afbeeldingen.
‫Hondenvisie wordt echt realiteit.
‫Hier bij mij, drie tegen één en ga naar binnen.
‫Vingers gekruist, hopelijk werkt dit, we zouden een kleine laadbalk moeten zien verschijnen, en omdat we het aantal
‫tijdperken op 100 hebben gezet, blijft het trainen voor maximaal 100 tijdperken.
‫Maar als het niet meer verbetert, hebben we ons volledige model voor het vroegtijdig stoppen van terugbellen, dat stopt bij
‫de vroege training en dan kunnen we de resultaten controleren met behulp van het Tensor-bord nadat het klaar is.
‫Dus we wachten tot dit begint, en dan zal ik waarschijnlijk deze video pauzeren omdat het ongeveer een half
‫uur gaat duren.
‫Ik ga een kleine pauze nemen.
‫Misschien kun je een beetje chillout rondlopen.
‫Oh.
‫Misschien duurt het iets langer dan een half uur.
‫Deze keer zou ik naar beneden moeten gaan, tenzij mijn testen onjuist zijn.
‫Maar wacht een paar seconden en dan kom ik terug op deze video zodra het model is gestopt.
‫Dus zodra het model het volledige model vroegtijdig stopt, is het vroegtijdig stoppen van callback begonnen.
‫Oké, dus ik laat dit zo lang draaien als nodig is.
‫Ik kom terug zodra mijn model zichzelf heeft gestopt dankzij de vroege stop en terugbellen.
‫Dus ik zie je over een paar seconden.
‫Maar voor mij zal het in de toekomst een paar uur zijn.
‫Misschien is het ook een paar uur in uw toekomst.
‫En we zijn terug.
‫Oké, dus laten we eens kijken naar ons volledig getrainde model.
‫Zoals je kunt zien, duurde mijn eerste tijdperk vrij lang en dit gaat echt even duren als je dit
‫afmaakt, als je dit hebt doorgemaakt.
‫Je moet jezelf een schouderklopje geven, want dit is als een overgangsritueel, het
‫trainen van je eerste end en deep learning neurale netwerk en het heeft lang geduurd.
‫Een van de dingen waar je achter moet komen als je een datawetenschapper
‫wordt, een machine learning engineer, is manieren om de tijd te doden terwijl je model traint.
‫Dus ging ik wandelen met mijn honden omdat dit er een kostte.
‫Hoeveel seconden is dat?
‫Dus vierduizend zevenhonderddertig gedeeld door achtenzestig minuten.
‫Dus iets meer dan een uur om de eerste époque te doen.
‫Maar zoals ik al zei, nadat de afbeeldingen in het GPS-geheugen zijn geladen, moet je kijken hoe snel het daarna gaat.
‫En wat u waarschijnlijk wilt doen, is dat terwijl deze cel actief is, ik u dit
‫eerder had moeten vertellen, maar u kunt er rekening mee houden voor de toekomst, aangezien deze cel wordt uitgevoerd, u wilt dat er
‫een opslagmodel op die manier wordt uitgevoerd .
‫Zodra uw model stopt met trainen, dankzij vroeg stoppen, belt ons vroeg stoppen hier terug.
‫Het gaat automatisch onze functie voor het opslaan van modellen aanroepen en ons volledige model opslaan in onze modellenmap.
‫Laten we nu naar hier komen en naar modellen kijken.
‫Oh, ik heb er een paar.
‫Dus laten we eens kijken, het wordt degene met de.
‫Daar gaan we, volledig beeld erop, 2 februari en ik begon om ongeveer 17.00 uur. m. Dus deze tijd is eigenlijk verkeerd
‫voor mij omdat ik het niet zeker weet.
‫Misschien is de datumtijd de verkeerde tijd voor mij.
‫Maar daar gaan we.
‫Dat is gered.
‫Hier hebben we ons pad.
‫Dus nu kunnen we een kijkje nemen, ons model deed het eigenlijk best goed.
‫Moet je zien.
‫Dat is trainingsnauwkeurigheid.
‫Maar ik ben een beetje sceptisch hier.
‫Je weet waarom?
‫Omdat we dit niet valideren.
‫Dit is slechts een modeltraining op basis van de volledige trainingsgegevens.
‫Dus laten we hier komen.
‫Het is aan het trainen op alle afbeeldingen in deze trein voor X en Y.
‫En dus kunnen we niet echt testen op een validatieset, maar wat we wel kunnen doen is de testdataset importeren die we oorspronkelijk
‫van Kagle hebben gedownload.
‫Hier gaan we, het testbestand en die kunnen we importeren, er een databos van maken en vervolgens ons model gebruiken om voorspellingen te doen
‫en deze in te dienen bij Kagle.
‫Op welke manier?
‫Omdat ze zo zijn dat ons model is opgeslagen.
‫Laten we onze load-modelfunctie testen.
‫Dus geladen voor model is gelijk aan laadmodel.
‫We gaan dit deel hier gewoon kopiëren.
‫Oké, ze laden het volledige model.
‫En als we deze regel hier kopiëren.
‫Nemen.
‫Nou, we willen het daar niet neerzetten.
‫We willen het hier als een string plaatsen.
‫Laten we dat eens bekijken.
‫Prachtig.
‫Dat gaat door, dat is waar we naar op zoek zijn.
‫Dus nogmaals, we krijgen die waarschuwingen op het moment dat de documentatie zegt dat ze genegeerd kunnen worden.
‫Oke.
‫Wat nu?
‫Ik denk dat nu we een volledig getraind model hebben op alle meer dan 10.000 afbeeldingen, ik denk dat we kunnen
‫zien hoe we voorspellingen kunnen doen op de testdataset.
‫Dus laten we dat doen in de volgende video.