Cómo leer los datos de un directorio en Tensorflow

Supongo que está utilizando Python con Tensorflow. Son datos bastante fáciles de un directorio que usa Python con o sin tensorflow.

Además, supongo que necesita leer el contenido de un archivo, almacenado en un directorio particular.

Código simple de Python para leer el contenido de un do que es:

# puede leer un archivo desde cualquier directorio dando una ruta relativa

ruta = “/relative/path/to/some_file.text”

con open (‘some_file.txt’) como file_object:
contenido = file_object.read ()
imprimir (contenido)


Código de Tensorflow ligeramente modificado para leer un archivo CSV o archivos de una ruta (mydir):

# dar una ruta relativa al directorio
mydir = “/ ruta / a / dir /”

# elige qué archivos quieres leer
archivos = [“file_1.csv”, “file_2.csv”]

nombres de archivo = []

para myfile en archivos:
file_with_path = mydir + myfile
filenames.append (file_with_path)

filename_queue = tf.train.string_input_producer (nombres de archivo)
lector = tf.TextLineReader () clave, valor = reader.read (filename_queue)
# Valores predeterminados, en caso de columnas vacías. También especifica el tipo del resultado # decodificado.

record_defaults = [[1], [1], [1], [1], [1]] col1, col2, col3, col4, col5 = tf.decode_csv (valor, record_defaults = record_defaults)
características = tf.stack ([col1, col2, col3, col4])
con tf.Session () como sess:
# Comience a llenar la cola de nombre de archivo.
coord = tf.train.Coordinator ()
hilos = tf.train.start_queue_runners (coord = coord)
para i in range (1200): # Recuperar una sola instancia:
ejemplo, etiqueta = sess.run ([características, col5])
coord.request_stop ()
coord.join (hilos)

¡Espero que esto ayude! Shanky Sharma también dio una buena implementación. +1 para eso también 🙂

Hay una buena cantidad de ejemplos dados en Reading data | TensorFlow, estoy agregando un ejemplo ligeramente modificado de entre los que se encuentran en el enlace anterior, esto le permitirá leer todos los archivos CSV en un directorio.

# Código para leer múltiples archivos CSV en un directorio.

importar os
importar tensorflow como tf

isfile = os.path.isfile
unirse = os.path.join

directorio = ‘mydirpath’
number_of_files = sum (1 para el elemento en os.listdir (directorio) if isfile (join (directorio, elemento)))

filename_queue = tf.train.string_input_producer ((“archivo% d”% i) para i en rango (número_de_archivos)])

lector = tf.TextLineReader ()
clave, valor = reader.read (filename_queue)

# Valores predeterminados, en caso de columnas vacías. También especifica el tipo de
# resultado decodificado.
record_defaults = [[1], [1], [1], [1], [1]]
col1, col2, col3, col4, col5 = tf.decode_csv (
valor, record_defaults = record_defaults)
características = tf.stack ([col1, col2, col3, col4])

con tf.Session () como sess:
# Comience a llenar la cola de nombre de archivo.
coord = tf.train.Coordinator ()
hilos = tf.train.start_queue_runners (coord = coord)

para i en rango (1200):
# Recuperar una sola instancia:
ejemplo, etiqueta = sess.run ([características, col5])

coord.request_stop ()
coord.join (hilos)

No tiene que usar necesariamente tensorflow para eso.

Usa pandas para cargarlo. Luego conviértalo en una matriz numpy y cárguelo en su modelo.