Hallo en welkom bij deze tutorial.
Oké, dus vandaag gaan we een functie maken die ons model zal redden, dat wil zeggen dat het brein
van de auto zal worden gered, zodat we het kunnen gebruiken wanneer we de applicatie maken.
Dankzij dezelfde functie kunnen we het model opslaan en vervolgens de applicatie afsluiten.
En als we dan teruggaan naar de applicatie, dingen naar een andere functie, dat is de
laadfunctie die hierna zal worden gemaakt, zullen we de laatste versie van ons model laden dat is getraind.
Dus dat zal heel praktisch zijn.
En laten we daarom van deze twee functies dezelfde functie en de laadfunctie maken.
Dus laten we beginnen met dezelfde functie in deze tutorial.
Dus hier komt een nieuwe def, dan opslaan, en dan is er één argument nodig dat zichzelf zal zijn.
En de reden is dat wat we gaan redden niet het hele model hier is, maar ons neurale
netwerk zelf dat model en onze optimizer zelf die optimizer.
Want wat we willen besparen, zijn alleen de laatste gewichten die bij de laatste iteratie zijn bijgewerkt.
Want wanneer we ons opgeslagen model later opnieuw willen gebruiken, wilden we de actie voorspellen om te spelen met de
gewichten die we al hebben getraind.
Dus we moeten deze laatste versie van het gewicht nemen en we moeten ook de laatste versie van
de optimizer nemen omdat deze is verbonden met deze gewichten.
Dus laten we dit doen.
We hebben onszelf.
Dus we zullen onszelf kunnen nemen, dat model en onszelf die optimizer, en we zullen deze
twee objecten opslaan in een Python-woordenboek.
En om deze twee objecten op te slaan, gaan we dezelfde functie van de toortsmodule gebruiken.
Dus ik begin hier met Tahj die opslaat en tussen haakjes gaan we dat woordenboek invoeren.
Brackett's en een woordenboek in Python werken zo.
Je hebt een sleutel, dat is je identificatie.
Dus dat is uniek.
En voor elk jaar heb je de waarde die je aan die sleutel wilt geven.
Het is dus als een mapping-functie van unieke identifiers naar een waarde die je aan deze identifiers wilt geven.
Als je een eenvoudig woordenboekboek neemt, nou, de sleutels zouden de woorden zijn en de waarden zouden de definities van
de woorden zijn.
Nou, hier is dat hetzelfde.
We gaan twee sleutels maken, één sleutel voor het eerste object dat we willen opslaan, dat zelf dat model is.
En een tweede sleutel voor het tweede dat we willen redden, dat is onszelf, die optimizer.
En laten we daarom beginnen met de eerste sleutel.
Dus we moeten die sleutel een naam geven en ik noem het state en dit kerndictaat, want dan zul je zien dat
ik de functie state dict ga gebruiken om ons model in het woordenboek op te slaan .
Dus dat is onze eerste sleutel om de waarde te geven die we aan die dartel willen toeschrijven.
Nou, zoals je kunt zien, heb ik hier en hier een kleine column toegevoegd.
Ik ga het object toevoegen, het object dat ik wil opslaan.
Dus het eerste object dat ik wil opslaan is zelf dat model, dus we kunnen dit zelf dat model kopiëren en plakken als de
waarde van ons eerste sleutelzelf, dat model.
Dan voegen we die staat toe, onderstrepen dict.
Hier gaan we, de eerste en dan voegen we enkele haakjes toe en dat zal de parameters van uw model
opslaan in dit eerste dictaat van de sleutelstatus.
En laten we nu zeggen onze optimizer.
Dus we gaan een tweede sleutel toevoegen aan het woordenboek.
En om dit te doen, zijn we hier gekomen en druk dan op enter en daar gaan we met onze tweede sleutel naar de tweede sleutel, we
gaan het noemen.
Nou, we kunnen het optimalisatie noemen.
Dan Colin, en dan hoeven we alleen maar de naam toe te voegen van het object dat we willen opslaan, en dat is zelf,
dat is onze optimizer.
Dus we houden ons aan die optimizer.
En nogmaals, om de parameters van deze optimizer op te slaan, zijn we hier weer, die staat DECT en daar gaan
we.
We hebben ons model opgeslagen met al het bespaarde gewicht en onze optimizers opgeslagen.
Perfect.
En dan zullen we dit alles opslaan in een bestand.
En om dit te doen, ga ik een tweede argument toevoegen aan de opslagfunctie, wat de naam zal zijn van
dit bestand waar we ons model in onze geoptimaliseerde staat willen hebben.
Dus onthoud, ik liet je een korte demo zien in het eerste deel van deze eerste module, zelfrijdende auto.
Weet je, dat was een demo waar we gewoon wat willekeurige acties hadden.
Dat was dus nog geen zelfrijdende auto.
Maar bedenk dan dat ik op de knop Opslaan heb geklikt om het model op te slaan.
En dit creëerde het laatste brein dat bestand, het bestand dat de opgeslagen versie van je model bevat.
Dus ik ga hier het laatste onderstrepingsteken toevoegen, breng dat naar voren zodat je model en je optimalisatieprogramma in
dit gemaakte bestand worden opgeslagen.
Laten we dat naar buiten brengen, zodat je het nog niet hebt.
Maar zodra u uw model opslaat in de applicatie, wordt dit bestand aangemaakt dankzij deze code die we zojuist
hebben toegevoegd.
Oke.
En dus nu perfect.
We hebben een veilige functie die uw model zal redden, het brein van uw auto zal redden door het gewicht te besparen
en de optimizer van het neurale netwerk dat in feite het brein van de auto is.
Zo perfect.
We hoeven nu nog maar één functie te creëren.
Dat is de laadfunctie.
En dat komt omdat dezelfde functie nooit zonder een laadfunctie gaat.
Weet je, het heeft geen zin om je model op te slaan als je niet kunt laden wat je daarna opslaat.
Dus dat is de laatste stap in onze reis voor de spannende demo.
En we zullen deze belasting laten functioneren in de laatste twee Toyota-secties.
Dus ik zie je hierin naast zwoegen.
En tot die tijd, geniet van I.