Wie Sie Dateien Lesen, die von einem in Tensorflow?

Gibt es Funktionen zum Lesen von Dateien im Tensorflow, aber diese Funktionen akzeptieren, Warteschlangen von Dateinamen.

Impliziert dies, dass bin ich verpflichtet zu folgern label exactrly beim Lesen von Datei, von der Datei selbst.

Leider habe ich eine Liste von Tupeln im Speicher, wo jedes Tupel besteht aus dem Dateinamen und Labels. I. e. Etiketten sind nicht in Dateien, sondern in den Speicher.

Ist es möglich, zwei synchronisierte queues irgendwie oder in irgendeiner anderen Art und Weise Daten und label aus verschiedenen Quellen?

UPDATE

Schrieb ich so etwas wie dieses, aber nicht

data = [[os.Pfad.join(corpus_dir, filename), label)] für (filename, Labels) in Daten]

def read_my_file():

    records = tf.train.input_producer(data)
    record = records.dequeue()
    filename = record[0]
    filenames = tf.FIFOQueue(1, tf.string)
    filenames.enqueue(filename)
    label = record[1]
    reader = tf.WholeFileReader()
    key, raw = reader.read(filenames)
    image = tf.image.decode_png(raw)
    return image, label


image, label = read_my_file()

init_op = tf.initialize_all_variables()
with tf.Session() as sess:
    sess.run(init_op)

    coord = tf.train.Coordinator()
    threads = tf.train.start_queue_runners(coord=coord)

    for i in range(10):
        image1, label1 = sess.run(image, label)
        print(label1)

Hier data ist eine Liste von Tupel in Python-Speicher, und filenames ist eine Warteschlange, die ich organisiert, um die feed-Datei-reader.

Sieht schrecklich aus und funktioniert nicht:

...test05.py", line 37, in <module>
    image1, label1 = sess.run(image, label)
  File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 769, in run
    run_metadata_ptr)
  File "C:\Python35\lib\site-packages\tensorflow\python\client\session.py", line 915, in _run
    if feed_dict:
  File "C:\Python35\lib\site-packages\tensorflow\python\framework\ops.py", line 525, in __bool__
    raise TypeError("Using a `tf.Tensor` as a Python `bool` is not allowed. "
TypeError: Using a `tf.Tensor` as a Python `bool` is not allowed. Use `if t is not None:` instead of `if t:` to test if a tensor is defined, and use TensorFlow ops such as tf.cond to execute subgraphs conditioned on the value of a tensor.

Wie Sie sehen, verwende ich conditionning nirgendwo.

InformationsquelleAutor Dims | 2017-03-23



One Reply
  1. 4

    Da Sie über tf.WholeFileReader, können Sie möglicherweise zu vermeiden, das problem der Synchronisierung von mehreren Warteschlangen ersetzen Sie es mit der viel einfacheren tf.read_file() op, wie folgt:

    def read_my_file():
        records = tf.train.input_producer(data)
        filename, label = records.dequeue()
        raw = tf.read_file(filename)
        image = tf.image.decode_png(raw)
        return image, label
    • Wow, das ging, thanls!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.