WEBVTT

00:00.420 --> 00:02.490
Hallo und herzlich willkommen zu diesem Tutorial.

00:02.490 --> 00:06.930
In Ordnung, so werden wir heute eine Funktion erstellen, die das Gehirn des Autos

00:06.930 --> 00:11.420
rettet oder ein Modell speichert, sodass wir es verwenden können, wenn wir die Anwendung beenden.

00:11.430 --> 00:14.350
Dank der Funktion Speichern kann das Modell gespeichert werden.

00:14.400 --> 00:19.470
Dann beenden Sie die Anwendung und wenn wir zu den Anwendungssachen zurückkehren, zu

00:19.470 --> 00:24.720
einer anderen Funktion, der Ladefunktion, die nach dieser Funktion ausgeführt wird, werden wir die

00:24.720 --> 00:30.210
letzte Version unseres Modells laden, die trainiert wurde Machen Sie diese beiden Funktionen zur gleichen

00:30.210 --> 00:32.190
Funktion und zur Ladefunktion.

00:32.190 --> 00:35.490
Beginnen wir also mit der gleichen Funktion in diesem Tutorial.

00:35.520 --> 00:42.830
Also hier kommt die neue Def, dann speichern und dann braucht man ein Argument, dass es sich selbst sein wird.

00:43.140 --> 00:49.830
Und der Grund ist, dass wir nicht das ganze Modell hier sagen wollen, sondern unser neuronales

00:50.160 --> 00:57.510
Netz Selldorf-Modell und unsere Optimiererzellen, die es optimieren, weil wir nur die letzten Gewichte speichern möchten, die bei

00:57.510 --> 01:03.740
der letzten Iteration datiert wurden Wann immer wir unsere Ersparnisse später wiederverwenden wollen, wollten

01:03.990 --> 01:08.900
wir die Aktion mit den bereits trainierten Gewichten zum Spielen bringen.

01:09.150 --> 01:11.310
Wir müssen also die letzte Version der Gewichte nehmen.

01:11.520 --> 01:16.510
Außerdem müssen wir die letzte Version des Optimierers verwenden, da diese mit diesen Gewichten verbunden ist.

01:16.860 --> 01:17.970
Also lass uns das tun.

01:17.970 --> 01:24.330
Wir haben unsere Zellen, so dass wir unser That-Modell in den Optimierer übernehmen können, und wir werden diese

01:24.330 --> 01:28.800
beiden Objekte in einem Python-Wörterbuch speichern und diese beiden Objekte speichern.

01:28.850 --> 01:32.460
Wir werden dieselbe Funktion aus dem Brennermodul verwenden.

01:32.460 --> 01:40.620
Also fange ich hier mit einer fackeligen Fackel an und in Klammern setzen wir diese Wörterbuchklammern in ein

01:40.880 --> 01:41.690
Wörterbuch.

01:41.680 --> 01:45.550
Bison funktioniert so, dass Sie einen Schlüssel haben, der Ihre Kennung ist.

01:45.660 --> 01:46.650
Das ist also einzigartig.

01:46.810 --> 01:49.840
Und für jeden haben Sie den Wert, den Sie zu diesem Schlüssel bekommen möchten.

01:49.890 --> 01:56.840
Es ist also wie eine Zuordnungsfunktion von eindeutigen Bezeichnern zu einem Wert, den Sie diese Bezeichner erhalten möchten.

01:56.910 --> 02:03.990
Wenn Sie ein einfaches Wörterbuchbuch gut nehmen, sind die Schlüssel die Wörter und die Werte sind die Definitionen der

02:03.990 --> 02:04.690
Wörter.

02:04.830 --> 02:10.830
Nun, das heißt, wir werden zwei Schlüssel erstellen, einen Schlüssel für das erste Objekt, das wir speichern möchten. Dieses

02:10.830 --> 02:13.750
Modell ist ein Subduct-Modell und eine Sekunde zuvor.

02:13.760 --> 02:19.770
Die zweite Sache, die wir sagen wollen, ist unser Optimizer und wir beginnen mit dem ersten

02:19.770 --> 02:20.250
Schlüssel.

02:20.430 --> 02:26.370
Also mussten wir diesem Schlüssel einen Namen geben, und ich werde ihn beim Score-Dikt als state bezeichnen, da Sie dann

02:26.370 --> 02:31.550
sehen werden, wie er die Funktion say dict verwendet, um unser Modell im Wörterbuch zu speichern.

02:31.740 --> 02:38.020
Das ist also unser erster Schlüssel, um den Wert anzugeben, den wir dem ersten Schlüssel zuordnen möchten.

02:38.190 --> 02:44.130
Nun, wie Sie sehen, habe ich hier eine kleine Con hinzugefügt und hier füge ich dem Objekt das Objekt hinzu, das ich

02:44.130 --> 02:44.790
sagen möchte.

02:45.000 --> 02:53.340
Das erste Objekt, das ich sagen möchte, ist das Selbstmodell, sodass wir dieses Selbst morgen kopieren und als Wert

02:53.640 --> 02:56.240
unserer ersten Schlüsselzelle einfügen können.

02:56.250 --> 03:00.490
Jetzt fügen wir diesen Zustandsunterstrich hinzu.

03:00.510 --> 03:00.930
Auf geht's.

03:00.960 --> 03:01.820
Der erste.

03:02.190 --> 03:07.430
Und dann fügen wir Klammern hinzu und speichern die Parameter Ihres Modells.

03:07.470 --> 03:09.670
In diesem ersten wichtigen Zustandsdikt.

03:09.950 --> 03:12.330
Und jetzt sagen wir unser Optimierer.

03:12.360 --> 03:17.640
Also fügen wir einen zweiten Schlüssel in das Wörterbuch ein und dazu haben wir hier ein Komma.

03:17.640 --> 03:21.010
Dann drücken Sie die Eingabetaste und dann gehen wir mit unserer zweiten Taste.

03:21.270 --> 03:22.970
Der zweite Schlüssel nennen wir es.

03:23.190 --> 03:30.480
Nun, wir können es Optimizer nennen, dann reinrufen und dann den Namen des zu speichernden Objekts

03:30.480 --> 03:31.070
hinzufügen.

03:31.260 --> 03:33.390
Und das ist selbst.

03:33.390 --> 03:34.650
Das ist unser Optimierer.

03:34.800 --> 03:38.700
Also fügen wir hier selbst diesen Optimierer hinzu.

03:39.180 --> 03:45.080
Und dann, um die Parameter dieses Optimierers erneut einzustellen, sind wir hier wieder in diesem Zustand.

03:45.210 --> 03:53.310
Und dann gehen wir, wir haben unser Modell mit all dem Gewicht gespeichert und unser Optimierer speichert perfekt und dann

03:53.310 --> 03:59.550
speichern wir das alles in einer Datei und dazu füge ich der Save-Funktion ein zweites

03:59.550 --> 04:06.810
Argument hinzu Geben Sie den Namen dieser Datei an, in der unser Modell in unserem Optimierungsset enthalten sein

04:06.810 --> 04:07.470
soll.

04:07.680 --> 04:13.050
Denken Sie daran, ich sollte im ersten Abschnitt dieses ersten selbstfahrenden Autos eine kurze Demo machen.

04:13.140 --> 04:16.530
Das war eine Demo, bei der wir nur zufällige Aktionen hatten.

04:16.580 --> 04:21.690
Das war also noch nicht das selbstfahrende Auto, aber dann erinnere ich mich, dass ich auf den

04:21.690 --> 04:28.530
Speichern-Button geklickt habe, um das Modell zu speichern. Dadurch wurde das letzte Gehirn erstellt, das PCH gefunden hat. Diese Datei enthält die gleiche Version

04:28.530 --> 04:29.330
Ihrer E-Mail.

04:29.520 --> 04:39.270
Also füge ich hier das letzte Mal hinzu, dass Gehirn dieses Alter unterstreicht, damit Ihre Moral und Ihr Optimierer in

04:39.270 --> 04:41.790
dieser erstellten Datei gespeichert werden.

04:41.790 --> 04:44.750
Lassen Sie uns diese Seite mitbringen, damit Sie sie noch nicht haben.

04:44.850 --> 04:50.450
Sobald Sie jedoch Ihr Modell in der Anwendung angegeben haben, wird diese Datei mit dem gerade hinzugefügten

04:50.460 --> 04:51.370
Code erstellt.

04:51.690 --> 04:52.220
Gut.

04:52.260 --> 04:53.780
Und jetzt perfekt.

04:53.850 --> 04:59.430
Wir haben eine sichere Funktion, die Ihr Modell rettet, indem Sie die Gewichte und

04:59.440 --> 05:06.240
den Optimierer des neuen Netzwerks speichern, das eigentlich das Gehirn des Autos ist. So perfekt, dass wir nur

05:06.240 --> 05:08.250
noch eine Funktion haben.

05:08.250 --> 05:13.310
Das ist die Ladefunktion und das deshalb, weil dieselbe Funktion niemals ohne Ladefunktion geht.

05:13.350 --> 05:15.440
Nein, es gibt keinen Zweck, das Modell zu speichern.

05:15.510 --> 05:17.820
Wenn Sie das, was Sie sagen, nicht laden können.

05:17.820 --> 05:23.060
Das ist also der letzte Schritt auf unserer Reise vor der aufregenden Demo und wir werden diese Sloat-Funktion erstellen.

05:23.130 --> 05:26.870
In den letzten beiden Toyota-Abschnitten werde ich Sie also in diesem nächsten Tutorial sehen.

05:26.900 --> 05:28.470
Und bis dahin genießen Sie AI.
