[PYTHON] Datenverarbeitung 3 (Entwicklung) Informationen zum Datenformat

Aidemy 2020/10/

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dies ist der dritte Beitrag zum Umgang mit Daten. Freut mich, dich kennenzulernen.

Was diesmal zu lernen ・ Über Protokollpuffer ・ Über hdf5 ・ Über TF Record

Über Protokollpuffer (Entwicklung)

Was sind Protokollpuffer?

Protokollpuffer werden von Google verwendet, um Daten zu speichern und alle Arten von strukturierten Informationen auszutauschen. (Zitat: Wikipedia-Protokollpuffer "https://ja.wikipedia.org/wiki/Protocol_Buffers")

Definition des Nachrichtentyps

・ Lassen Sie uns zunächst sehen, wie Sie es mit Bezug auf den Nachrichtentyp-Quellcode schreiben, der die Familienstruktur zusammenfasst.

・ Code![Screenshot 2020-10-28 22.39.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/c16c44d0-1883-12cd- a3b4-81fd090d4650.png)

-Erläutern Sie die Verwendung von proto2 mit __ "syntax =" proto2 ";" . Stellen Sie sicher, dass am Ende der Zeile ";" steht. - "Message Person {}" __ repräsentiert eine Klasse namens "Person". -Kommentare können durch __ "//" __ in einer Zeile und __ "/ * * /" __ in mehreren Zeilen dargestellt werden. -Für "Erforderlicher Stringname = 1;", __ "Stringname" __ gibt an, dass "Name" vom Typ str ist. Diese beiden Wörter werden zusammen field genannt. Der __ "= 1" __ Teil wird als __ Tag __ bezeichnet und hat die Aufgabe, die Daten bei der Ausgabe der Daten zu unterscheiden. __ "Erforderlich" __ muss an "Erforderliche Elemente" angehängt werden.

Ermöglichen, dass der Nachrichtentyp von Python verarbeitet wird

-Die Datei, in die der obige Code geschrieben ist, heißt "family.proto". Verwenden Sie einen Befehl, um diese Datei mit Python zu bearbeiten __protoc --python_out = Zieldateipfad speichern Nachrichtentyp Dateiname __ Eingeben.

Schreiben Sie Daten in Python

・ Code![Screenshot 2020-10-28 22.40.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/9b0bb720-d9c4-5b63- b475-8c496b12dd63.png)

・ Ergebnis (nur Teil)![Screenshot 2020-10-28 22.41.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/b2c53d35 -0695-7324-2d0f-fc31d5fe81b7.png)

Über hdf5

Was ist hdf5?

-Hdf5 ist ein Datenformat, das von Keras verwendet wird, beispielsweise beim Speichern eines von Keras erstellten Trainingsmodells. -In hdf5 kann die hierarchische Struktur in einer Datei vervollständigt werden. __ Mit anderen Worten, selbst wenn mehrere Ordner (Verzeichnisse) hierarchisch erstellt werden, kann die hdf5-Seite Dateien umfassend erstellen.

Erstellen einer HDF5-Datei

・ Code![Screenshot 2020-10-28 22.43.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/aec2bdea-e1da-2327- 6f2b-9684858f1cbb.png)

· Öffnen Sie die hdf5-Datei: __ hdf5.File ("Dateiname") __ -Erstellen Sie eine Gruppe (Verzeichnis): __ Datei .create_group ("Gruppenname") __ -Schreibe die Datei mit __flush () __ und schließe sie mit __close () __.

Über TF Record

Was ist TF Record?

TFRecord ist "ein einfaches aufzeichnungsorientiertes Binärformat, das große Datenmengen verarbeiten kann, die nicht in den Speicher passen". Quote: So erstellen und lesen Sie tdl TensorFlow empfohlenes Format "TFRecord" [https://www.tdi.co.jp/miso/tensorflow-tfrecord-01#:~:text=TFRecord%E3%81%AF%E3%80%81%E3%80%8C%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AB%E5%8F%8E%E3%81%BE%E3%82%89,%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82]

-TFRecord ist ein in TensorFlow verwendetes Datenformat, das die Verarbeitung großer Datenmengen wie oben beschrieben ermöglicht.

Exportieren Sie das Bild in eine andere Datei im TFRecord-Format.

-Der Ablauf ist wie "Lesen eines Bildes", "Definieren des zu schreibenden Inhalts" und "Schreiben". ・ Gehen Sie wie folgt vor (Dateipfad ist fiktiv)

・ Code![Screenshot 2020-10-28 22.45.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/259f8e5c-c321-d243- 1ae8-5ba83afb733a.png)

-Für den Teil "Schreiben" ist __ "tf.python_io.TFRecordWriter ('Dateiname')" __ die TFRecord-Version von "open ('w')". -__ "fp.write (my_Example.SerializePartialToString ())" __, vervollständigen Sie, wenn Sie endlich schreiben.

Liste der variablen und festen Längen

-Die Liste enthält allgemeine variable Länge, deren Länge geändert werden kann, und fixierte Länge, die nur feste Daten enthalten kann. -Die Liste von Python hat normalerweise eine variable Länge, aber "tf.train.Example ()" im vorherigen Abschnitt hat eine feste Länge.

Diese Zeit ist vorbei. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Datenverarbeitung 3 (Entwicklung) Informationen zum Datenformat
Datenverarbeitung
Python-Anwendung: Datenverarbeitung # 3: Datenformat
Datenverarbeitung mit mehreren Bedingungen
Datenverarbeitung
Über tweepy Fehlerbehandlung
Informationen zur Python-Entwicklungsumgebung
Python, über die Ausnahmebehandlung
Informationen zu FastAPI ~ Endpoint-Fehlerbehandlung ~
Schreiben Sie Daten im HDF-Format
Informationen zum Umgang mit statischen Django-Dateien
Über die Datenverwaltung von Amboss-App-Server
Behandeln Sie Daten im NetCDF-Format mit Python
Analysieren Sie Daten im CSV-Format mit SQL
Über Zeitreihendaten und Übertraining
Führen Sie Daten im JSON-Format mit Ansible zusammen
Datenverarbeitung 2 Analyse verschiedener Datenformate