[PYTHON] Daten mit TensorFlow lesen

Ich habe versucht, den Datenlesemechanismus aus der Datei in TensorFlow als eine Reihe von Flows zu zerlegen. Ich denke, dass es eine Referenz dafür sein wird, wie man die binären Bilddaten von CIFAR-10 aufnimmt, die Warteschlange verwendet und sie als Tensor in der Sitzung an das Diagramm sendet.

ich fand heraus ・ Wie in der offiziellen Daten lesen angegeben, erfolgt das Lesen aus einer Datei in 7 Schritten.

tf.Graph().as_default()

    sess=tf.Session()
    tf.train.start_queue_runners(sess=sess)

    for i in range():
        sess.run([ .. ])
```

 Etc.

 In [Versuchen Sie, die Reader-Klasse von TensorFlow zu verwenden](http://qiita.com/knok/items/2dd15189cbca5f9890c5) wird außerdem der wichtigste Teil des Umgangs mit JPEG-Bildern erläutert. Siehe.


 Es wird angenommen, dass die Daten von cifar10 als / tmp / cifar10_data / .. gespeichert werden. Wenn Sie den folgenden Code ausführen, werden die Bilddaten als Tensor ausgegeben.
 Dieses Skript extrahiert die grundlegenden Teile des Ladens und der Vorverarbeitung von Daten aus der Vielzahl von Funktionen im cifar10-Lernprogramm. Weitere Informationen finden Sie unter cifar10_input.py.







#### **`tensorflow_experiment3.py`**
```py


#coding:utf-8
#Bis die Cifar10-Bilddatei gelesen und in einen Tensor konvertiert wurde.
import tensorflow as tf


FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_integer('max_steps', 1,
                            """Number of batches to run.""")
tf.app.flags.DEFINE_integer('batch_size', 128,
                            """Number of images to process in a batch.""")
NUM_EXAMPLES_PER_EPOCH_FOR_TRAIN = 50000



with tf.Graph().as_default(): 
	# 1.Liste der Dateinamen
	filenames = ['/tmp/cifar10_data/cifar-10-batches-bin/data_batch_1.bin',
		'/tmp/cifar10_data/cifar-10-batches-bin/data_batch_2.bin',
        '/tmp/cifar10_data/cifar-10-batches-bin/data_batch_3.bin', 
        '/tmp/cifar10_data/cifar-10-batches-bin/data_batch_4.bin', 
        '/tmp/cifar10_data/cifar-10-batches-bin/data_batch_5.bin']
    # 2.Kein Dateinamen mischen
    # 3.Keine Epochenbegrenzung


    # 4.Erstellen einer Warteschlange für die "Dateinamenliste"
	filename_queue = tf.train.string_input_producer(filenames)


	# 5.Erstellen eines Lesegeräts, das dem Datenformat entspricht
	class CIFAR10Record(object):
		pass
	result = CIFAR10Record()

	label_bytes = 1 
	result.height = 32
	result.width = 32
	result.depth = 3
	image_bytes = result.height * result.width * result.depth
	record_bytes = label_bytes + image_bytes

	reader = tf.FixedLengthRecordReader(record_bytes=record_bytes)

	##Öffnen Sie die Datei, indem Sie die Warteschlange an den Reader übergeben
	result.key, value = reader.read(filename_queue)


	# 6.Daten aus Leseergebnissen dekodieren
	record_bytes = tf.decode_raw(value, tf.uint8)


    # 7.Datenformung
    # 7-1.Grundformung
	result.label = tf.cast(tf.slice(record_bytes, [0], [label_bytes]), tf.int32)
	depth_major = tf.reshape(tf.slice(record_bytes, [label_bytes], [image_bytes]),
                                [result.depth, result.height, result.width])
	result.uint8image = tf.transpose(depth_major, [1, 2, 0])

	read_input = result
	reshaped_image = tf.cast(read_input.uint8image, tf.float32)
	float_image = reshaped_image

	# 7-2.Vorbereiten des Mischens von Daten
	min_fraction_of_examples_in_queue = 0.4
	min_queue_examples = int(NUM_EXAMPLES_PER_EPOCH_FOR_TRAIN *
                            min_fraction_of_examples_in_queue)
	print ('Filling queue with %d CIFAR images before starting to train. '
            'This will take a few minutes.' % min_queue_examples)

    # 7-3.Stapel erstellen(Mit mischen)
	batch_size = FLAGS.batch_size
	num_preprocess_threads = 16
	images, label_batch = tf.train.shuffle_batch(
	[float_image, read_input.label],
        batch_size=batch_size,
        num_threads=num_preprocess_threads,
        capacity=min_queue_examples + 3 * batch_size,
        min_after_dequeue=min_queue_examples)

	images=images
	labels = tf.reshape(label_batch, [batch_size])


	# 8.Lauf
	sess = tf.Session()
	tf.train.start_queue_runners(sess=sess)
	for step in xrange(FLAGS.max_steps):
		img_label = sess.run([images, labels])
		print(img_label)
	print("FIN.")
```


Recommended Posts

Daten mit TensorFlow lesen
Versuchen Sie Daten parallel zu Distributed TensorFlow
Zundokokiyoshi mit TensorFlow
Brechen Sie Blöcke mit Tensorflow
Lernen Sie mit TensorFlow Y = 2X verteilte Daten
Datenanalyse mit Python 2
Bootsrennen Vorhersage mit TensorFlow
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Daten mit Pandas mischen
Datenerweiterung mit openCV
Daten mit Scipy normieren
Versuchen Sie eine Regression mit TensorFlow
Datenanalyse mit Python
LADEN SIE DATEN mit PyMysql
Seien Sie vorsichtig beim Lesen von Daten mit Pandas (geben Sie dtype an)
Lesehinweis: Einführung in die Datenanalyse mit Python
Fordern Sie die Bildklassifizierung mit TensorFlow2 + Keras 3 heraus ~ Visualisieren Sie MNIST-Daten ~
Übersetzen Erste Schritte mit TensorFlow
Mit Python erstellte Beispieldaten
Zeichnen Sie Excel-Daten mit matplotlib (1)
Versuchen Sie es mit TensorFlow
Verwenden Sie TensorFlow mit Intellij IDEA
Künstliche Datengenerierung mit Numpy
TensorFlow Tutorial-MNIST Daten herunterladen (Übersetzung)
Extrahieren Sie Twitter-Daten mit CSV
Ungefähre Sinusfunktion mit TensorFlow
Experiment zur Optimierung der Tensorflow-Daten
Holen Sie sich Youtube-Daten mit Python
Lernen Sie neue Daten mit PaintsChainer
Binarisieren Sie Fotodaten mit OpenCV
Zeichnen Sie Excel-Daten mit matplotlib (2)
Aktienkursprognose mit Tensorflow
Verwenden Sie Django, um Tweet-Daten zu speichern
TXT-Dateien mit Python lesen
Versuchen Sie TensorFlow MNIST mit RNN
Datenverarbeitungstipps mit Pandas
Lesen von JSON-Daten mit Python
Stellen Sie die Reproduzierbarkeit mit tf.keras in Tensorflow 2.3 sicher
Speichern und laden Sie Daten mit joblib, pickle
Passen Sie Modell / Ebene / Metrik mit TensorFlow an
Inferenz- und Ergebnisanzeige mit Tensorflow + matplotlib
Klassifizieren Sie "Wein" mit TensorFlow MLP-Code
[TensorFlow 2] Lernen Sie RNN mit CTC-Verlust
Versuchen Sie es mit TensorFlow Part 2
Umgang mit unausgeglichenen Daten
[Python] Mit DataReader Wirtschaftsdaten abrufen
Vielseitige Datenerfassung mit Pandas + Matplotlib
[TensorFlow] [Keras] Aufbau eines neuronalen Netzwerks mit Keras
Python-Datenstruktur mit Chemoinfomatik gelernt
Installieren Sie die Datendatei mit setup.py
[Aktienkursanalyse] Pandas lernen mit fiktiven Daten (001: Vorbereitung der Umgebung auf das Lesen von Dateien)
Lesen und Schreiben von NetCDF mit Python
Analysieren Sie pcap-Daten mit dem Befehl tshark
Erstellen Sie mit SoX rauschgefüllte Audiodaten