Implémentation d'un générateur en utilisant Python> link> yield et next ()> yield

Environnement d'exploitation


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.

Apprendre un framework Deep Learning appelé TensorFlow.

https://indico.io/blog/tensorflow-data-inputs-part1-placeholders-protobufs-queues/ Je suis tombé sur une description que je n'ai jamais vue dans le premier code de.

...
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

Ce que je n'ai pas compris au premier coup d'œil ci-dessus était "Où est défini next () dans iter_.next ()?"

Il n'y a pas de définition de next () dans la classe iter_ data_iterator ().

D'autre part, il y a une description du rendement. J'ai le sentiment que cela s'est produit lorsque j'ai créé le logiciel avec Unity. http://qiita.com/7of9/items/194e1c7f4b87a79dd129

Un article Qiita a été trouvé en recherchant avec next () et yield. http://qiita.com/tomotaka_ito/items/35f3eb108f587022fa09#yieldを使ったジェネレータの実装

Après tout, il semble qu'il puisse être utilisé de la même manière que le rendement utilisé dans Unity.

Recommended Posts

Implémentation d'un générateur en utilisant Python> link> yield et next ()> yield
Créer une carte Web en utilisant Python et GDAL
Essayez de créer un fichier compressé en utilisant Python et zlib
Dérivés appris en utilisant Python - (2) Draw Yield Curve (JPYLibor Curve) -
Aplatir à l'aide du rendement Python de
Construire un environnement Python sur un Mac, jusqu'au point d'utiliser Jupyter Lab
Tirez en accéléré à partir d'une caméra PC en utilisant Python, OpenCV
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
Python a + = b et a = a + b sont différents
Inclusions de tapple Python et expressions de générateur
J'ai fait un Line-bot avec Python!
Authentification à l'aide de l'authentification des utilisateurs tweepy et de l'authentification d'application (Python)
Créez un classement de jeu sur le cloud Alibaba en utilisant Python et Redis
Dessiner une courbe Silverstone en utilisant Python
Traitez le résultat de l'exécution de Splunk en utilisant Python et enregistrez-le dans un fichier
Un peu plus sur les références ~ Prenant Python et Java comme exemples ~
Créez un lot planifié simple à l'aide de l'image Python de Docker et de parse-crontab
Clustering et visualisation à l'aide de Python et CytoScape
Précautions lors de la création d'un générateur Python
Implémentation d'un algorithme simple en Python 2
[Python] renvoie A [ou / et] B
[Python] Lire un fichier csv avec une grande taille de données à l'aide d'un générateur
[Python] J'ai écrit une API REST en utilisant AWS API Gateway et Lambda.
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python (2) ~ Server ~
Créer une lecture de feuille de notes avec Python OpenCV (Conseils pour bien lire)
J'ai créé un exemple pour accéder à Salesforce en utilisant Python et Bottle
Je souhaite créer une application Web en utilisant React et Python flask
De Python à l'utilisation de MeCab (et CaboCha)
python> lien> Comportement / code de Strftime () et strptime ()
Utilisation de Python et MeCab avec Azure Databricks
Notation inclusive de Python (à propos de l'expression de liste et de générateur) [supplémentaire]
Python> lien> Initialisation et affectation de tableaux 2D
Un mémo contenant Python2.7 et Python3 dans CentOS
Connectez beaucoup de Python ou et et
[Python] Créer un environnement Batch à l'aide d'AWS-CDK
Scraping de sites Web à l'aide de JavaScript en Python
[Python] Gratter une table avec Beautiful Soup
Une histoire sur Python pop and append
Dessinez une structure arborescente en Python 3 à l'aide de graphviz
Un programme qui utilise Python pour lire des fichiers indésirables
J'utilise tox et Python 3.3 avec Travis-CI
Apprentissage amélioré 35 python Développement local, attachez un lien vers myModule et importez-le.
[Python] Smasher a essayé de faire du processus de chargement de la vidéo une fonction à l'aide d'un générateur
[Python] Un programme qui trouve les valeurs minimales et maximales sans utiliser de méthodes
La valeur de retour (générateur) d'une fonction qui combine finally et yield ne doit pas être passée directement à next
Organisez les modules et les packages Python dans le désordre
MessagePack-Try pour lier Java et Python avec RPC
Créer un fichier GIF en utilisant Pillow en Python
Estimation de l'orientation de la tête avec Python et OpenCV + dlib
J'ai essayé le web scraping en utilisant python et sélénium
[Python] Fractionner un gros fichier Flask en utilisant Blueprint
Remarques sur l'installation de Python3 et l'utilisation de pip sous Windows7
Flux de développement Python avec Poetry, Git et Docker
J'ai essayé la détection d'objets en utilisant Python et OpenCV
Un joli nimporter qui connecte nim et python
ffmpeg-Construisez un environnement python et divisez la vidéo
J'ai écrit une classe en Python3 et Java
Pourquoi je suis une boutique Java et démarre Python
Afficher les avis sur les médicaments à l'aide de listes en Python