Wie laden, beschriften und füttern Sie JPEG-Daten in Tensorflow?

7

Ich habe versucht, 1750 * 1750 Bilder in Tensorflow zu füttern, aber ich weiß nicht, wie ich die Daten beschriften und zuführen soll, nachdem ich die Bilder mit der Funktion tf.image.decode_jpeg () in einen Tensor umgewandelt habe.

Momentan ist mein Code:

%Vor%

Nun, wie ich bereits sagte, muss ich die Daten füttern und beschriften. Ich habe die CIFAR-10 Tutorial-Dateien gesehen, aber sie haben die Labels in einer Datei gespeichert und ich plane dies nicht.

Ich bin ziemlich neu in Tensorflow, also bitte halten Sie die Antwort so detailliert wie möglich.

Danke!

    
Zan Huang 18.03.2016, 02:53
quelle

1 Antwort

22

Je nachdem, was Sie zu tun versuchen, gibt es mehrere Richtungen zu beachten.

  1. Wenn Sie nur eine beliebige JPEG-Datei rückschließen möchten (dh Etiketten sind nicht erforderlich), können Sie dem Beispiel von classify_image.py folgen, das ein JPEG-Bild in ein vortrainiertes Inception-Netzwerk eingibt:

    >

    github.com/tensorflow/models/blob/master/tutorials/image /imagenet/classify_image.py

  2. Wenn Sie ein Modell auf einem kleinen benutzerdefinierten Datensatz mit JPEG-Bildern trainieren (oder feinabstimmen) möchten, dann schauen Sie sich dieses Beispiel an, um ein Modell von einem kleinen Modell zu trainieren Satz von JPEG-Bildern.

    github.com/tensorflow/tensorflow/blob/master/tensorflow/examples /image_retraining/retrain.py

  3. Wenn Sie ein Modell auf einem großen benutzerdefinierten Datensatz von JPEG-Bildern trainieren (oder feinabstimmen) möchten, ist das Lesen vieler einzelner JPEG-Dateien ineffizient und verlangsamt das Training enorm.

Ich würde vorschlagen, dem in der Anfangs- / Modellbibliothek beschriebenen Verfahren zu folgen, das ein Verzeichnis von JPEG-Bildern in sharded RecordIO konvertiert, die serialisierte JPEG-Bilder enthalten.

github.com/tensorflow/models/blob/master/research /inception/inception/data/build_image_data.py

Anweisungen zum Ausführen des Konvertierungsscript finden Sie hier:

github .com / tensorflow / models / blob / master / research / inception / README.md # how-to-construct-eine-neue-datensatz-für-umschulung

Nach dem Ausführen der Konvertierung können Sie dann die Bildvorverarbeitungspipeline verwenden / kopieren, die von der Einführung / dem Modell verwendet wurde.

github.com/tensorflow/models/blob/master/research/inception /inception/image_processing.py

    
user5869947 18.03.2016, 18:16
quelle