Zusammenfassung der Module und Klassen in Python-TensorFlow2-

Einführung

Wir haben die Beziehungen zwischen Python-Paketen, Modulen, Klassen, Methoden, Funktionen und Instanzen zusammengefasst. Zusammenfassend habe ich als Beispiel ein TensorFlow 2.0-Tutorial bereitgestellt.

Wer ist das Ziel dieses Artikels?

Die Zielgruppe für diesen Artikel ist: -Ich möchte die Beziehungen zwischen Python-Paketen, Modulen, Klassen, Methoden, Funktionen und Instanzen überprüfen. ・ Ich bin neu in Python und verstehe die Struktur von Bibliotheken wie TensorFlow nicht.

Grober Inhalt dieses Artikels

  1. Tens of Flow-Tutorial in diesem Artikel

  2. Importieren Sie zunächst die Bibliothek

  3. Struktur von TensorFlow (allgemeine Bibliothek)

  4. Beispiele für Pakete, Module und Funktionen

  5. Was sind Klassen, Methoden und Instanzen?

  6. Beispiele für Klassen, Methoden und Instanzen

1. Tens of Flow-Tutorial in diesem Artikel

In diesem Artikel verwenden wir das folgende TensorFlow 2.0-Tutorial als Beispiel. TensorFlow Tutorial Der vollständige Code ist unten.

TensorFlow-Tutorial-Code


from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)

2. Importieren Sie zunächst die Bibliothek

Um eine Bibliothek (wie TensorFlow) zu verwenden, müssen Sie die Bibliothek importieren. Vor dem Importieren der Bibliothek muss diese im Voraus installiert werden (Pip-Installation usw.). Da sich jedoch bereits viele Artikel in diesem Bereich befinden, werde ich sie weglassen. Das Folgende ist der Importteil von TensorFlow, der aus dem Tutorial extrahiert wurde.

Teil importieren


import tensorflow as tf

Dies bedeutet, dass ich den Programmcode zum Importieren (in diesem Fall Tensorflow) in das von mir ausgeführte Programm verwenden möchte (der Code des in Kapitel 1 gezeigten Tutorials). Bereiten Sie sich also vor (führen Sie es im Voraus aus). Es ist ein Bild, das Ihnen sagt, dass Sie es aufnehmen sollen. Obwohl es hier als tf geschrieben ist, ist es schwierig, Tensorflow jedes Mal einzugeben, wenn Sie die Funktion von TensorFlow verwenden. Daher erkläre ich nur, dass es ab dem nächsten Mal als tf abgekürzt wird.

3. Struktur von TensorFlow (allgemeine Softwarebibliothek)

Softwarebibliotheken sind nicht auf TensorFlow beschränkt, sondern bestehen aus den folgenden Elementen. -Paket: Eine Codegruppe, in der mehrere verschiedene "Module" gesammelt werden, wird als "Paket" bezeichnet. -Modul: Eine .py-Datei (Python-Programmcode), die "Klassen" und "Funktionen" enthält. -Klasse: Eine Gruppe von "Methoden" wird als "Klasse" bezeichnet. -Methode: Eine in der "Klasse" definierte Funktion. Der Unterschied zu einer normalen Funktion wird am Ende des Artikels erläutert. -Funktion: Eine Zusammenfassung einiger Verarbeitungen. Zum Beispiel eine Funktion, die 100-mal addiert, oder eine Funktion, die das Volumen aus der Länge von drei Seiten einer Box berechnet. -Instanz: Die Klasse erhält das Ziel, das tatsächlich verarbeitet werden soll. Es wird nachstehend ausführlich erläutert.

Wenn Sie nur das Obige lesen, werden Sie es nicht verstehen. Schauen Sie sich also bitte die folgende Abbildung an. Sie können die folgenden zwei Punkte sehen.

図1.png

  1. Normalerweise erleichtern wir die Verwaltung von Dateien mit einer hierarchischen Struktur (Erstellen von Ordnern in Ordnern). In ähnlicher Weise verwalten Pakete und Module Funktionen und Methoden (obwohl Methoden mit Klassen gebündelt sind), die Teil der eigentlichen Datenverarbeitung sind, auf leicht verständliche Weise.
  2. Der eigentliche Datenverarbeitungsteil ist unter Funktionen und Methoden beschrieben.

4. Beispiele für Pakete, Module und Funktionen

Lassen Sie uns als Beispiel die Funktion load_data von TensorFlow in einer hierarchischen Struktur in der folgenden Abbildung zeigen. Die Abbildungen links und rechts zeigen dasselbe.

図2.png

Wie Sie aus dem (Beispiel) in der obigen Abbildung sehen können, ist load_data eine Funktion in mnist (Modul) in Datensätzen (Modul) in Keras (Modul) in Tensorflow (Paket). Und im Python-Programmcode wird durch. (Punkt) angezeigt, um zur unteren Hierarchie zu gelangen.

Der folgende Code zum Laden des Datensatzes für maschinelles Lernen stammt aus dem Lernprogramm. Zunächst wird dem Namen mnist ein Modul namens mnist in Datensätzen in Keras im Tensorflow zugewiesen. Mit anderen Worten, wir erstellen einen neuen Namen, mnist, und weisen mnist (Modul) im Tensorflow zu. In der zweiten Zeile wird der in der ersten Zeile erstellte Mnist mit. (Punkt) hinzugefügt und eine Funktion namens load_data () in der unteren Hierarchie verwendet. Übrigens bedeutet (), dass nichts als Argument angegeben wird.

Datenladeteil


mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

Der obige Code hat also genau die gleiche Bedeutung wie der folgende Code.

Datenladeteil (wenn die mnist-Deklaration weggelassen wird)


(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()

Die Struktur der Module und Funktionen im Tensorflow, wie in der obigen Abbildung gezeigt, kann auf der folgenden offiziellen Website leicht untersucht werden. * HP ist Version 2.1. TensorFlow Core v2.1.0 Module: tf.keras.datasets

Wenn Sie die Seite tf.keras.datasets mit dem obigen Link öffnen, erhalten Sie die Informationen wie in der folgenden Abbildung gezeigt. Die Zahlen entsprechen den nachstehenden Abbildungen. ➀ Tensorflow Hierarchische Informationen aller Pakete und Module werden in einer Liste angezeigt. ➁ Die aktuell geöffneten tf.keras.datasets werden als Module angezeigt. ➂ Es zeigt, welche Art von Modulen sich in der Hierarchie eine Ebene unter den aktuell geöffneten tf.keras.datasets befinden.

図3.png

5. Was sind Klassen, Methoden und Instanzen?

Klassen, Methoden und Instanzen sind unvermeidliche Elemente für das Verständnis von TensorFlow, wenn Sie sich mit Python vertraut machen. Pakete, Module und Funktionen scheinen ausreichend zu sein, um die Verarbeitung eines Programms auf einfach zu lesende Weise zu verwalten. Es gibt jedoch Klassen, um die Idee der Objektorientierung in Python zu verwirklichen. Es gibt viele Artikel zur Objektorientierung, schauen Sie also bitte dort nach. Hier werde ich nur den Unterschied zwischen der Verwendung von Klassen, Methoden, Instanzen und Funktionen erläutern.

Erstens ist die Rolle einer Methode fast dieselbe wie die einer Funktion, und sie verarbeitet sie gemeinsam. Der einzige wesentliche Unterschied besteht darin, dass die Funktion alleine verwendet wird, während die Methode als Satz mit der Klasse verwendet wird, wie in der folgenden Abbildung gezeigt. Um die Methode verwenden zu können, muss so etwas wie ein Feld von der Klasse zur Instanz erstellt werden, in dem das von der Methode zu verarbeitende Ziel und die Daten nach der Verarbeitung gespeichert werden, wie in der obigen Abbildung gezeigt. Funktionen können andererseits Operationen direkt an gewöhnlichen Variablen ausführen.

図4.png

Es sieht so aus, wenn es in Code geschrieben ist. Die Klasse ist auf den ersten Blick möglicherweise schwer zu verstehen. Lesen Sie daher bitte den Artikel zur Klassenbeschreibung.

Erstellen Sie eine Instanz aus einer Klasse und führen Sie eine Methode aus


Instance = Class(Klassenargumente) # クラスからインスタンスを作成しています。Klassenargumenteが空()Häufig.
Instance.method(Methodenargumente) #Die Methode wird für die erstellte Instanz verarbeitet.

Um die Methode verwenden zu können, muss daher (im Gegensatz zur Funktion) im Voraus eine Instanz aus der Klasse erstellt werden, sodass der folgende Code zu einem Fehler führt. Dies ist ein großer Unterschied zu einer Funktion. * Es gibt spezielle Methoden, aber ich denke, es ist in Ordnung, wenn Sie sie zuerst nicht kennen.

Führen Sie die Methode aus, ohne eine Instanz zu erstellen


Class.method(Methodenargumente) #Ein Fehler wird auftreten.

6. Beispiele für Klassen, Methoden und Instanzen

Die folgende Abbildung zeigt beispielhaft die Struktur der Sequential-Klasse von TensorFlow und die darunter liegenden Methoden zum Kompilieren, Anpassen und Auswerten. Die Abbildungen links und rechts zeigen dasselbe.

図5.png

Im Code des folgenden Datenladeteils aus dem Lernprogramm ist Sequential eine Klasse, Kompilieren, Anpassen, Auswerten ist eine Methode und Modell ist Sequential ist eine Instanz. Erstellen Sie zunächst eine Instanz namens model mit einer Klasse namens Sequential und verwenden Sie für diese Instanz die Methoden compile (Definition der Lernmethode), fit (Modelllernen) und evaluieren (Modellbewertung) in der Hierarchie unterhalb der Klasse Sequential. Wir bearbeiten in Ordnung. * Übrigens sind tf.keras.layers.Flatten usw. in der Liste der sequentiellen Argumente Klassen und werden verwendet, um die Struktur des maschinellen Lernmodells zu definieren.

Beispiele für Klassen und Instanzen im TensorFlow-Lernprogramm


model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test,  y_test, verbose=2)

Die Struktur der Tensorflow-Klassen und -Methoden und ihre Argumente können ebenso wie Funktionen auf der folgenden offiziellen Website bestätigt werden. TensorFlow Core v2.1.0 Class Method: tf.keras.model.Sequential

Am Ende

Am Beispiel von TensorFlow habe ich versucht, die Bibliothek sehr grob zu organisieren. Ich hoffe, dieser Artikel hilft Ihnen beim Studium von Python. * Wenn Sie einen Fehler machen, teilen Sie uns dies bitte in den Kommentaren mit.

Verweise

TensorFlow TensorFlow Tutorial Python tutorial

Recommended Posts

Zusammenfassung der Module und Klassen in Python-TensorFlow2-
Zusammenfassung der 2016 erstellten OSS-Tools und -Bibliotheken
Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)
Listet Methodenargumentinformationen für Klassen und Module in Python auf
Zusammenfassung verschiedener Operationen in Tensorflow
Zusammenfassung der Python-Indizes und -Slices
Module und Pakete in Python sind "Namespaces"
Zusammenfassung der häufig verwendeten Methoden bei Pandas
Zusammenfassung verschiedener for-Anweisungen in Python
Zusammenfassung der Stolpersteine bei der Installation von CaboCha
Trennung von Design und Daten in matplotlib
Zusammenfassung der integrierten Methoden usw. der Python-Liste
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Organisieren Sie Python-Module und -Pakete in einem Chaos
Zusammenfassung der Korrespondenz zwischen Ruby- und Python-Array-Operationen
Zusammenfassung der Unterschiede zwischen PHP und Python
Zusammenfassung zum Importieren von Dateien in Python 3
Organisieren Sie die Bedeutung von Methoden, Klassen und Objekten
Zusammenfassung der in Command Line Vol.8 verwendeten Tools
Zusammenfassung der Verwendung von MNIST mit Python
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Zusammenfassung der in Command Line Vol.5 verwendeten Tools
Der Header ist falsch ausgerichtet mit read_csv () und read_table () von Pandas
Zusammenfassung der beim maschinellen Lernen verwendeten Bewertungsfunktionen
Koexistenz von Anaconda 2 und Anaconda 3 in Jupyter + Bonus (Julia)
E / A-bezogene Zusammenfassung von Python und Fortan
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
Zusammenfassung der Pickle- und Unpickle-Verarbeitung von benutzerdefinierten Klassen
Zusammenfassung der Excel-Operationen mit OpenPyXL in Python
[Einführung in Python] Zusammenfassung der Funktionen und Methoden, die häufig in Python vorkommen [Problemformat]
"Lineare Regression" und "Probabilistische Version der linearen Regression" in Python "Bayes lineare Regression"
Das einfachste Python-Memo in Japan (Klassen und Objekte)
Zusammenfassung der Tools, die zum Analysieren von Daten in Python benötigt werden
Verarbeitung von CSV-Daten in voller und halber Breite in Python
Über Importfehler von numpy und scipy in anaconda
Berechnung der Standardabweichung und des Korrelationskoeffizienten in Python
Zusammenfassung der Linux (UNIX) -Befehle, die mit Progate ausgegeben wurden
Python - Erläuterung und Zusammenfassung der Verwendung der 24 wichtigsten Pakete
[Python] Typfehler: Zusammenfassung der Ursachen und Abhilfemaßnahmen für 'Kein Typ'
[Python] Ruft die Liste der im Modul definierten Klassen ab
Unterschied zwischen Ruby und Python in Bezug auf Variablen
Erhalten Sie ein abstraktes Verständnis der Python-Module und -Pakete
Beispiel für das Abrufen des Modulnamens und des Klassennamens in Python
Verschachteln Sie Module in Boost.Python
Liste der Python-Module
Mehrfachvererbung von Klassen
Tensorflow / Keras-Zusammenfassung
Zusammenfassung der Verwendung von pyenv
Python-Pakete und -Module
Zusammenfassung der Zeichenfolgenoperationen
Dynamisches Laden von Modulen
Zusammenfassung der Python-Argumente
Zusammenfassung der Testmethode
Zusammenfassung der Prototypmuster der Einführung in Entwurfsmuster, die in Java gelernt wurden
Grundlegende Zusammenfassung der Datenoperationen in Python Pandas - Zweite Hälfte: Datenaggregation
Hot Backup und Wiederherstellung von virtuellen Maschinen in Hyper-V Server 2019
Arten der Vorverarbeitung in der Verarbeitung natürlicher Sprache und ihre Leistungsfähigkeit