Implementieren eines Generators mit Python> Link> Yield und next ()> Yield

Betriebsumgebung


GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 14.04 LTS desktop amd64
TensorFlow v0.11
cuDNN v5.1 for Linux
CUDA v8.0
Python 2.7.6
IPython 5.1.0 -- An enhanced Interactive Python.

Lernen eines Deep Learning-Frameworks namens TensorFlow.

https://indico.io/blog/tensorflow-data-inputs-part1-placeholders-protobufs-queues/ Ich bin auf eine Beschreibung gestoßen, die ich im ersten Code von noch nie gesehen habe.

...
def data_iterator():
    """ A simple data iterator """
    batch_idx = 0
    while True:
        # shuffle labels and features
        idxs = np.arange(0, len(features))
        np.random.shuffle(idxs)
        shuf_features = features[idxs]
        shuf_labels = labels[idxs]
        batch_size = 128
        for batch_idx in range(0, len(features), batch_size):
            images_batch = shuf_features[batch_idx:batch_idx+batch_size] / 255.
            images_batch = images_batch.astype("float32")
            labels_batch = shuf_labels[batch_idx:batch_idx+batch_size]
            yield images_batch, labels_batch


iter_ = data_iterator()
while True:
    # get a batch of data
    images_batch_val, labels_batch_val = iter_.next()
    # pass it in as through feed_dict
    _, loss_val = sess.run([train_op, loss_mean], feed_dict={
                    images_batch:images_batch_val,
                    labels_batch:labels_batch_val
                    })
    print loss_val

Was ich oben auf den ersten Blick nicht verstanden habe, war "Wo ist next () in iter_.next () definiert?"

Es gibt keine Definition von next () in der Klasse data_iterator () von iter_.

Auf der anderen Seite gibt es eine Beschreibung der Ausbeute. Ich habe das Gefühl, dass dies herauskam, als ich die Software mit Unity erstellte. http://qiita.com/7of9/items/194e1c7f4b87a79dd129

Ein Qiita-Artikel wurde durch Suchen mit next () und Ausbeute gefunden. http://qiita.com/tomotaka_ito/items/35f3eb108f587022fa09#yieldを使ったジェネレータの実装

Immerhin scheint es, dass es auf die gleiche Weise verwendet werden kann wie die in Unity verwendete Ausbeute.

Recommended Posts

Implementieren eines Generators mit Python> Link> Yield und next ()> Yield
Erstellen Sie eine Webmap mit Python und GDAL
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
Mit Python erlernte Derivate- (2) Zeichnen Sie eine Zinsstrukturkurve (JPYLibor-Kurve) -
Mit Python abflachen
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Nehmen Sie Zeitraffer von einer PC-Kamera mit Python, OpenCV auf
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Python a + = b und a = a + b sind unterschiedlich
Python-Tapple-Einschlüsse und Generatorausdrücke
Ich habe einen Line-Bot mit Python gemacht!
Authentifizierung mit Tweepy-User-Authentifizierung und Anwendungsauthentifizierung (Python)
Erstellen Sie mit Python und Redis eine Rangliste für Spiele in der Alibaba-Cloud
Zeichnen einer Silbersteinkurve mit Python
Verarbeiten Sie das Ausführungsergebnis von Splunk mit Python und speichern Sie es in einer Datei
Ein bisschen mehr über Referenzen ~ Verwenden von Python und Java als Beispiele ~
Erstellen Sie einen einfachen geplanten Stapel mit Dockers Python Image und parse-crontab
Clustering und Visualisierung mit Python und CytoScape
Vorsichtsmaßnahmen beim Erstellen eines Python-Generators
Implementierung eines einfachen Algorithmus in Python 2
[Python] gibt A [oder / und] B zurück
[Python] Lesen Sie eine CSV-Datei mit großen Datenmengen mithilfe eines Generators
[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
Erstellen eines Markierungsblatts mit Python OpenCV (Tipps zum guten Lesen)
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Von Python bis zur Verwendung von MeCab (und CaboCha)
Python> Link> Verhalten / Code von Strftime () und strptime ()
Verwenden von Python und MeCab mit Azure Databricks
Inklusive Notation von Python (über Liste und Generatorausdruck) [zusätzlich]
Python> Link> Initialisierung und Zuweisung von 2D-Arrays
Ein Memo mit Python2.7 und Python3 in CentOS
Verbinde viel Python oder und und
[Python] Erstellen Sie eine Stapelumgebung mit AWS-CDK
Scraping von Websites mit JavaScript in Python
[Python] Eine Tabelle mit Beautiful Soup kratzen
Eine Geschichte über Python Pop und Append
Zeichnen Sie mit graphviz eine Baumstruktur in Python 3
Ein Programm, das Python zum Abspielen von Junk verwendet
Ich verwende Tox und Python 3.3 mit Travis-CI
Erweitertes Lernen 35 Python Lokale Entwicklung, fügen Sie einen Link zu myModule hinzu und importieren Sie ihn.
[Python] Smasher hat versucht, den Video-Ladevorgang mithilfe eines Generators zu einer Funktion zu machen
[Python] Ein Programm, das die minimalen und maximalen Werte ohne Verwendung von Methoden findet
Der Rückgabewert (Generator) einer Funktion, die endlich und Ausbeute kombiniert, darf nicht direkt an next übergeben werden
Organisieren Sie Python-Module und -Pakete in einem Chaos
MessagePack-Versuchen Sie, Java und Python mit RPC zu verbinden
Erstellen Sie eine GIF-Datei mit Pillow in Python
Schätzung der Kopforientierung mit Python und OpenCV + dlib
Ich habe versucht, Web-Scraping mit Python und Selen
[Python] Teilen Sie eine große Flask-Datei mit Blueprint
Hinweise zur Installation von Python3 und zur Verwendung von pip unter Windows7
Python-Entwicklungsablauf mit Poetry, Git und Docker
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Ein netter Nimporter, der Nim und Python verbindet
ffmpeg-Erstellen Sie eine Python-Umgebung und teilen Sie das Video
Ich habe eine Klasse in Python3 und Java geschrieben
Warum ich ein Java-Shop bin und Python starte
Anzeigen von Arzneimittelbewertungen mithilfe von Listen in Python