WEBVTT

00:00.360 --> 00:05.400
Hallo en welkom bij de laatste redactie van de sectie, we gaan de

00:05.400 --> 00:11.340
laatste functie van deze DeQuan-klasse maken, wat natuurlijk de laadfunctie zal zijn die natuurlijk na dezelfde

00:11.340 --> 00:12.210
functie komt.

00:12.420 --> 00:17.070
U slaat uw model op en wilt het vervolgens kunnen laden wanneer u teruggaat naar de applicatie.

00:17.370 --> 00:18.410
Dus laten we dit doen.

00:18.780 --> 00:22.290
We gaan WDEF maken en dan laden.

00:22.450 --> 00:24.930
We noemen deze klassefunctie opnieuw laden.

00:25.110 --> 00:30.900
Deze laadfunctie zal het zelf als argument nemen en je raadt waarschijnlijk waar het zelf voor zal zijn.

00:30.990 --> 00:34.770
Het zal precies zijn om te laden wat is opgeslagen in de opslagfunctie.

00:35.070 --> 00:38.880
Dus we zorgen voor dat model en natuurlijk zelf voor die optimizer.

00:39.390 --> 00:42.150
Dus het zelf zal hier voor het model en de optimizer zijn.

00:42.840 --> 00:46.040
Dus dan Kullen en laten we nu het model laden.

00:46.770 --> 00:53.280
Dus aangezien het model in het laatste brein zit, willen we er zeker van zijn dat dit bestand bestaat en daarom gaan

00:53.280 --> 00:54.330
we daarmee beginnen.

00:54.480 --> 00:58.110
We gaan een if-voorwaarde maken om er zeker van te zijn dat dit bestand bestaat.

00:58.320 --> 01:04.030
En als het bestaat, zullen we laden wat we in het woordenboek hebben, dat zich in dit laatste brein bevindt.

01:05.340 --> 01:12.870
Dus we beginnen met een F, dan nemen we ons besturingssysteem en het pad dat hier naartoe leidt.

01:13.050 --> 01:14.670
Laten we dat meenemen, Val.

01:15.030 --> 01:19.520
Dus waar dat pad precies het pad is dat naar de werkmapmap leidt.

01:19.650 --> 01:25.950
Dus wat mij betreft dat dit pad desktop, dan is mijn kunstmatige intelligentie die map, dan model

01:26.220 --> 01:30.630
een zelfrijdende auto en dan het model een zelfrijdende auto map.

01:30.810 --> 01:33.660
Dat is deze map hier met het laatste punt dat viel.

01:34.020 --> 01:39.120
En toen gingen we dot is file is file this toevoegen.

01:39.720 --> 01:40.770
Dat is dus een functie.

01:40.920 --> 01:46.170
Dus ik ga wat haakjes toevoegen en binnen de haakjes ga ik de naam van het bestand invoeren.

01:46.410 --> 01:49.770
De naam van de vader bevat het model dat is laten we dat bedenken.

01:50.760 --> 01:53.220
We moeten het dus tussen aanhalingstekens zetten.

01:53.700 --> 02:00.840
En dus ga ik het laatste brein binnen dat BGH en zo is file lamebrain.

02:00.840 --> 02:02.790
Dat zal terugkeren.

02:02.790 --> 02:08.190
Waar als het bestand dat het brein is dat bestaat en bestanden als het niet bestaat.

02:08.460 --> 02:15.600
En daarom betekent deze if-conditie dat als we het laatste brein hebben dat bestand nu in de werkmapmap zit,

02:16.230 --> 02:18.050
laten we dan coderen.

02:18.060 --> 02:19.370
Wat gaat er in dat geval gebeuren.

02:19.710 --> 02:22.080
In dat geval, als het bestand bestaat.

02:22.500 --> 02:27.440
Wel, eerst gaan we iets afdrukken om te zeggen dat, weet je, we het model aan het laden zijn.

02:27.460 --> 02:35.280
Dus we kunnen bijvoorbeeld een klein foutje zeggen en dan checkpoint's laden met drie kleine puntjes.

02:35.820 --> 02:36.260
Oke.

02:36.270 --> 02:40.800
Dat wil alleen maar zeggen dat we het model aan het laden zijn en dan gaan we natuurlijk het model laden.

02:40.920 --> 02:46.530
Dus het model en de optimizer en we gaan wat we laden in een variabele plaatsen

02:46.680 --> 02:49.260
die ik checkpoint gelijk ga noemen.

02:49.680 --> 02:54.650
En dat is waar we de laadfunctie gaan gebruiken om te laden wat is opgeslagen in de opslagfunctie.

02:55.020 --> 02:58.680
Dit is natuurlijk een functie uit de fakkelbibliotheek.

02:59.100 --> 03:06.960
Dus Torch Dot en de naam van de SLOAT-functie is gewoon haakjes laden en binnen de haakjes, wat moeten

03:06.960 --> 03:08.670
we volgens jou invoeren?

03:09.030 --> 03:15.660
Welnu, heel eenvoudig, we moeten het bestand invoeren dat ons opgeslagen model bevat en een opgeslagen optimalisatieprogramma is.

03:16.050 --> 03:21.960
Dus we hoeven alleen maar de naam van het bestand in te voeren, wat het laatste brein is.

03:24.230 --> 03:30.010
Laten we dat ter sprake brengen en we laden dit bestand alleen in de voorwaarde dat dit bestand bestaat.

03:30.140 --> 03:32.870
Daarom moesten we deze voorwaarde hier coderen.

03:33.690 --> 03:39.510
OK, dus nu we weten dat het model en de optimizer, nou, wat we gaan doen, is ons

03:39.510 --> 03:45.690
model en de optimizer afzonderlijk bijwerken, omdat we eigenlijk de parameters hebben geladen die we de gewichten en de

03:45.690 --> 03:47.770
parameters van de optimizer hebben geladen.

03:48.000 --> 03:55.860
Dus wat we nu moeten doen, is ons bestaande model bijwerken, dat is deze ene cel, dat model en

03:55.860 --> 04:03.420
onze bestaande optimizer zelf die optimizer met de parameters, met de gewichten die in deze laatste zitten, brengen dat

04:03.420 --> 04:04.560
naar voren.

04:05.040 --> 04:07.680
We hoeven deze twee updates dus gewoon apart uit te voeren.

04:07.980 --> 04:11.670
En om dit te doen, gaan we een methode gebruiken uit de toortsmodules.

04:12.010 --> 04:17.910
Er zal dus overerving zijn, waardoor we deze methode kunnen gebruiken die load state dict wordt

04:17.910 --> 04:18.330
genoemd.

04:18.660 --> 04:24.980
En met de statische belastingmethode kunnen we alle parameters van ons model bijwerken en optimaliseren.

04:25.380 --> 04:28.640
Dus laten we dit doen en laten we beginnen met het updaten van onze modellen.

04:28.640 --> 04:35.850
Dus we nemen ons model, dat zelf is, dat model aangezien zelf dat model erft van het bericht

04:35.850 --> 04:40.290
van de toortsmodule om de DECT-methode voor belastingstoestand te gebruiken.

04:40.500 --> 04:42.930
Dus dat is de boodschap die we uit de erfenis halen.

04:43.200 --> 04:47.220
En dankzij deze methode gaan we alle parameters van het model bijwerken.

04:47.220 --> 04:48.090
Dat is al het gewicht.

04:48.600 --> 04:53.670
En wat we dus in deze staat moeten invoeren, deze methode is onze controlepuntvariabele.

04:54.060 --> 04:55.800
Dat is het resultaat van de laadfunctie.

04:56.140 --> 04:58.950
Dus check point, dan haakjes.

04:59.490 --> 05:03.930
En nu moeten we de naam invoeren van de sleutel die overeenkomt met ons model.

05:04.320 --> 05:09.240
Dat wil zeggen, dat komt overeen met het verkopen van dat model staatsdictaat en dat is staatsdictaat.

05:10.050 --> 05:17.880
Dus tussen checkpoints en de haakjes die we invoeren, tussen aanhalingstekens, staat onderstreping dict en deze regel code zal

05:18.060 --> 05:19.700
je model bijwerken.

05:20.040 --> 05:22.760
Dat wil zeggen, het zal het gewicht, de parameters van uw model toepassen.

05:23.400 --> 05:28.140
En nu moeten we hetzelfde doen voor de optimizer en dat zal bijna hetzelfde zijn.

05:28.290 --> 05:30.150
Dus ik ga deze regel kopiëren.

05:32.050 --> 05:39.520
Hieronder geplakt, en dus gingen we deze keer niet het model updaten, maar de optimizer zelf, die

05:39.520 --> 05:40.220
optimizer.

05:40.480 --> 05:46.480
Aan de andere kant gebruikten we een load state dick-methode die erft van de torch-module-methode.

05:47.020 --> 05:54.790
En we passen deze functie toe op het ijkpunt van niet vermeld dat de sleutel die overeenkomt met de optimizer

05:55.120 --> 05:56.710
en die is geoptimaliseerd.

05:57.010 --> 06:01.520
Dus hier hebben we zojuist een dictaat vervangen door maximaal Mizer.

06:02.110 --> 06:02.710
Daar gaan we.

06:03.040 --> 06:07.420
Hier hebben we de gewichten van het model en hier werken we de parameters van de optimizer bij.

06:08.220 --> 06:17.160
Perfect, en om af te ronden, kunnen we een beetje op die manier afdrukken, en tot slot moeten we specificeren wat

06:17.160 --> 06:21.180
er gebeurt als deze voorwaarde niet wordt gerespecteerd.

06:21.420 --> 06:23.370
Dat wil zeggen, als er geen brein is.

06:24.540 --> 06:25.740
En dus hoeven we alleen maar toe te voegen.

06:25.830 --> 06:27.750
En anders dan Colin.

06:29.030 --> 06:32.390
En gewoon, we gaan gewoon zeggen dat er niet zo'n bestand is.

06:32.510 --> 06:33.370
Laten we dat ter sprake brengen.

06:34.070 --> 06:42.740
Dus we gaan gewoon iets afdrukken als geen controlepunt gevonden en drie, weinig als je wilt.

06:44.200 --> 06:52.030
Oké, en dat geeft ons een functionele laadfunctie en vooral een functionele noodklas en nu

06:52.030 --> 06:56.640
enorm gefeliciteerd omdat onze kunstmatige intelligentie klaar is.

06:57.010 --> 07:01.360
Je kunt waarschijnlijk aan mijn stem horen dat ik erg opgewonden raak omdat het nu tijd is voor

07:01.360 --> 07:01.930
de demo.

07:02.170 --> 07:08.500
We hebben net een brein gemaakt en we gaan dit brein in de auto stoppen en we zullen zien hoe het slim genoeg is

07:08.710 --> 07:13.240
om deze rondritten tussen het vliegveld en het centrum te maken, wat de weg ook is.

07:13.370 --> 07:15.270
Dus ik kan niet wachten om jullie de demo te laten zien.

07:15.310 --> 07:17.160
Dit komt in de volgende sectie.

07:17.320 --> 07:19.030
En tot die tijd, geniet van I.
