‫Jetzt haben wir unsere Daten in Stapeln.
‫Aber es könnte ein bisschen schwierig sein, zu verstehen, was in einem Batch vor sich geht, also bauen wir
‫eine kleine Funktion, die untersucht, was in unserem Batch ist, damit wir visualisieren können, was passiert, weil wir hier diese
‫kleine Ausgabe haben.
‫Wir wissen tief im Inneren, dass dies tatsächlich Bilder und diese Etiketten sind, es wäre gut, sie zu sehen.
‫Lassen Sie uns hier also eine kleine Überschrift machen, indem wir Datenstapel visualisieren und sie in Markdown umwandeln.
‫Und geben wir uns ein bisschen Kommunikation.
‫A-Daten sind jetzt in Stapeln.
‫Diese können jedoch ein wenig schwer zu verstehen und zu verstehen sein.
‫Lassen Sie uns sie visualisieren.
‫Da ich mir bei dir nicht sicher bin, aber ich mag
‫es, Dinge in Aktion zu sehen. Um das zu tun, importieren wir unseren vertrauenswürdigen Matplotlib-Look auf diesen automatischen Vorschlag und erstellen dann eine Funktion zum
‫Anzeigen von Bildern in a Datenstapel oder Datenstapeldaten.
‫Wir Australier, der australische Akzent, werfen uns gerne ans Ende der Vokale, wo immer sie sind.
‫Wir könnten es tun, um 25 Bilder anzuzeigen, denn wenn wir zu viele machen, wie etwa zehntausend oder mehr, zeigen wir
‫möglicherweise nur fünfundzwanzig gleichzeitig.
‫Und wir wollen Bilder und Labels, weil wir im Grunde genommen ein Bild plotten und dann das Label
‫darüber platzieren.
‫Und schön und einfach.
‫Obwohl ein Plot von 25 Bildern und den Etiketten aus einer Datenbank angezeigt wird.
‫Wunderbar.
‫In Ordnung, also lass uns die Figur einer Party aufstellen, diese Figur wird es groß machen.
‫Jetzt habe ich ein wenig Erfahrung mit dem Einrichten dieser Plotgröße, also ist hoffentlich 10 x 10 gut
‫genug.
‫Wenn nicht, können wir das ändern.
‫Dann werden wir 25 durchlaufen, um 25 Bilder anzuzeigen.
‫Also haben wir einfach eine einfache Schleife für I im Bereich fünfundzwanzig eingerichtet.
‫Was können wir dann tun?
‫Nun, wir müssen einen Unterplot erstellen, machen wir fünf Zeilen, fünf Spalten, denn das
‫sind 25 und dann müssen wir ein Bild auf jedem der Unterplots anzeigen und dann jedem der Bilder einen
‫Titel hinzufügen, der ' nicht zu schwer sein.
‫Erstellen Sie also Nebenhandlungen.
‫Wir gehen fünf Zeilen, fünf Spalten X gleich Plot Punkt Subplot fünf fünf I plus eins.
‫Das ist oh, es liegt daran, dass wir eine wichtige Matplotlib haben, deshalb wird die Doktorarbeit nicht angezeigt.
‫Na, bitte.
‫Parameter.
‫Wohin gehen wir?
‫Wir haben eine Rose Dot-Kolumne.
‫Das ist also Navarros, das sind Spalten und das ist der Index, das müssen Sie wissen.
‫Zeigen Sie ein Bild an.
‫Einige der dunklen Matplotlib-Strings können ein wenig nervig sein, wenn sie zum Beispiel Ogg's, das Schlüsselwort Ogg's sind und
‫es nur alle anderen Klassen erbt und Sie sie nicht wirklich finden können, wenn Sie überprüfen müssen, was
‫dies tatsächlich tut.
‫Sehen Sie sich die vollständige Dokumentation der Matplotlib an.
‫Wir wollen das Bild plotten.
‫Da wir also durchschleifen, werden dies Daten, ein Haufen Bilder und Etiketten sein.
‫Also wollen wir das Bild zeigen.
‫Also befeuchtet der Index das richtig.
‫Das Bild und fügen Sie das Bildlabel als Titel hinzu.
‫Also werden wir Ihnen den Titel und dann die einzigartigen Rassen nennen, denn das ist unsere Liste.
‫Denken Sie daran, wenn es noch im Gedächtnis lebt, sollte es das tun.
‫Einzigartige Rassen ist unsere Liste einzigartiger Hundenamen.
‫Holen Sie sich das einzigartige Rassen-Label, wir möchten indizieren, dass das Label den maximalen Wert hat.
‫Mit anderen Worten, wenn wir gehen, warum Null ARG Max?
‫19.
‫Dies ist genau das, was wir mit der Anordnung ihrer einzigartigen Zöpfe tun werden.
‫Das ist also diese Zeile, hier ist der Titel unserer Handlung.
‫Boom.
‫Sehen Sie, was ich mit Funktionen meine, um wirklich zu erkunden, was vor sich geht.
‫Wenn Sie also etwas herausfinden möchten, denken Sie immer daran, und Sie können die Funktion einfach auseinandernehmen, den Code
‫für sich selbst neu schreiben, denn so werden Sie etwas verstehen.
‫Schalten Sie die Rasterlinien aus.
‫Eigentlich könnten wir es schon einmal mit ihnen sehen, also wissen wir genau, was das tut.
‫Sie zugreifen, das ist eine schöne, einfache Funktion.
‫Fünfundzwanzig Bilder, was müssen wir jetzt tun? Da unsere Daten in einem Stapel vorliegen, müssen wir sie
‫im Wesentlichen in Stapeln anzeigen, um sie zu visualisieren, damit wir dies tun können, indem wir Bilder trainieren.
‫Sehen wir uns zuerst den Code an, dann sehen wir, was tatsächlich passiert.
‫Zugetiketten, Ecoles, als nächstes.
‫Als nächstes gibt es das nächste Element von einem Iterator zurück.
‫Na ja, vielen Dank dafür, Herr Doktor, denn Zugdaten haben das Format eines Stapels.
‫Wenn wir also Daten trainieren, müssen wir sie in einen Iterator umwandeln.
‫Na, bitte.
‫Das können wir also tun, indem wir die Methode aufrufen.
‫Gibt als Nam-Pie-Iterator und was soll das sagen, einen Iterator zurück, der alle Elemente des Datensatzes
‫in Nam-Pie umwandelt.
‫Im Grunde wird dies also an der Reihe sein.
‫Ach, los geht's.
‫Wir haben hier einige Informationen.
‫Diese dunklen Saiten sind für mich da ein bisschen schwer zu lesen.
‫Lass uns hier einfach durchgehen.
‫Was wird es tun?
‫Es wird also einen Batch-Datensatz herausnehmen, ihn aus einem Batch abwickeln und in einen Numpty verwandeln.
‫Es ist richtig.
‫Und dank Next wird es dann die erste Charge aus diesem Iterator herausholen.
‫Und dann, weil es geteilt ist.
‫Es ist ungepatcht.
‫Trainingsbilder, also dieser hier, dieser Shapir, wird das Erste sein, was zurückgegeben wird, und die
‫Zugetiketten werden das Nächste sein, das zurückgegeben wird.
‫Nehmen Sie mich also nicht beim Wort, wenn Sie Zweifel haben, führen Sie den Code aus.
‫Der Grund dafür, dass die Ausführung eine Weile dauern kann, ist, wenn Sie sich daran erinnern, wann wir
‫unsere hier eingerichteten Daten gefeuert haben.
‫Wir haben diese Map-Funktion Get Image Label, die unsere Bilder verarbeitet. Wenn wir jetzt mit Stapeln
‫arbeiten, werden Bilder im Hintergrund verarbeitet, wenn wir sie
‫ausführen.
‫Also los gehts.
‫Anstatt uns also mit Dateinamen zu befassen, haben wir es jetzt tatsächlich mit verarbeiteten Bildern zu tun, also
‫etwas mehr Daten.
‫Das ist ein riesiges Array, richtig, denn wir haben Trian-Bilder.
‫Das sollte mal sehen wie lange es dauert.
‫Können Sie erraten, wie lange, wenn es sich um einen Stapel handelt, wenn es sich um einen einzelnen Artikel in einem Stapel handelt?
‫Und wie lang sind Zugbeschriftungen?
‫Das hätte wirklich in der nächsten Zelle laufen sollen.
‫Es musste also unsere Daten nicht ratifizieren 32 32.
‫Na, bitte.
‫Hier kommt also das nächste ins Spiel.
‫Also haben wir unsere Zugdaten entpatcht, indem wir als Vampir sein Radar verwendet oder in einen Iterator verwandelt haben.
‫Wir haben den nächsten genommen, also den einen von der Spitze.
‫Also im Grunde genommen einfach den Stapel von oben genommen und die Bilder und die Etiketten zurückgeben, egal mit welchem Stapel Sie
‫arbeiten, wir arbeiten mit Bildern.
‫Das ist der Grund, warum dies und Bilder, wenn Sie mit einer anderen Art von Daten arbeiten.
‫Dies wäre dieser andere Datentyp und dies wären wahrscheinlich immer noch Ihre Etiketten.
‫Aber sie haben eine Länge von 32, weil unsere Losgröße ist.
‫Zweiunddreißig, also jetzt verwenden wir unseren Code jetzt, sorry, jetzt Visualisierungsfunktion.
‫Lassen Sie uns nun die Daten in einem Trainingsbatch visualisieren.
‫Wie haben wir es genannt, zeigen?
‫25 Bilder zeigen 25 Bilder, Zugbilder, Zugbeschriftungen.
‫Wunderbar.
‫Das sind also die Daten, mit denen wir arbeiten, dies sind unsere Trainingsdaten.
‫Beachten Sie, dass es sich alle um Quadrate handelt, da wir die Größe auf zwei auf vier und zwei auf vier geändert haben.
‫Und deshalb wollte ich den Zugang abplanen, weil wir den Müll an der Seite loswerden
‫wollen.
‫Lassen Sie uns das tun, weil wir versuchen, hier Bilder anzuzeigen.
‫Lass uns noch einmal rumpeln.
‫Genial.
‫Dies ist unser Trainingsstapel, wenn wir hierher kommen.
‫Machen wir dasselbe für die Visualisierung eines Validierungsbatches.
‫Wir führen das noch einmal durch.
‫Nun, eigentlich möchte ich Ihnen etwas zeigen, das den Unterschied hervorhebt. Wenn wir das
‫hier unten kopieren, können wir es auch entfernen.
‫Dies ist, was ich gesucht habe.
‫Jedes Mal, wenn wir dies ausführen, merken Sie sich dieses hier, Saluki, Tibbett, Antaria, erinnern Sie sich einfach an diese
‫fünf Bilder hier.
‫Versuchen wir nun, dies erneut auszuführen.
‫Wir sehen, wie sich die obere Reihe unterscheidet, und Sie würden feststellen, dass der Rest auch anders wäre.
‫Nun, warum denkst du, ist das so?
‫Das liegt daran, dass, wenn wir beim Erstellen eines Trainingsbatches hierher kommen, jedes Mal, wenn wir das Training aufrufen,
‫die Daten gemischt werden.
‫Wenn wir dies also noch einmal durchgehen, während es läuft, schreiben wir eines für das Validierungsset.
‫Lassen Sie uns nun unser Validierungsset visualisieren.
‫Also gehen wir Val images val labels gleich next val data as num pi iterator.
‫Wunderbar.
‫Und dann zeigen wir fünfundzwanzig Bilder und wir gehen val Bilder.
‫Val-Etiketten.
‫Also lassen wir das laufen und stellen fest, dass wir hier einige andere haben.
‫Sieh dir das an.
‫Das hält diesen Welpen.
‫Ich könnte das alte tun, ich schaue mir das Ding nur an.
‫Wie süß ist dieser Welpe?
‫Also laufen wir das noch einmal, merken Sie sich das, erinnern Sie sich an diesen Kerl, der seinen Hund hier hält?
‫Erinnerst du dich an diesen?
‫Es sieht aus wie ein Duschvorhang.
‫Also werden wir dieses Training durchführen.
‫Und auch Hinweise zur Validierung.
‫Erinnerst du dich also an diesen Hund in der Badewanne und an diesen unter dem Stuhl?
‫Wir sehen, dass sich die Zugbilder geändert haben, denn wenn wir beim Erstellen unseres Datenstapels zurückgehen, haben wir die Trainingsbilder jedes
‫Mal neu gemischt, wenn wir einen Stapel erstellen.
‫Und für den Moment, die Validierung, die hier in der Badewanne liegt, weil wir an dem Punkt angelangt sind, an dem wir unseren
‫Validierungsbatch erstellt haben.
‫Wir mischen die Validierungsdaten nicht.
‫Denken Sie jetzt darüber nach, warum das wichtig sein könnte.
‫Dazu kommen wir gleich.
‫Ich weiß, dass ich das jetzt ein paar Mal gesagt habe, aber ich möchte Sie nur dazu bringen, vorerst darüber
‫nachzudenken.
‫Nachdem wir nun visualisiert haben, dass wir Daten-Batches erstellt haben und sie nun visualisieren, um in unserem Kopf ein bisschen mehr Sinn zu
‫ergeben, denke ich, dass der einzige nächste Schritt darin besteht, zu sehen, was wir beim Erstellen und Trainieren eines Modells tun
‫können.
‫Kommen wir dazu im nächsten Video.