Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

839
Vistas
Convierta la cadena TensorFlow en una cadena de python

Soy consciente de que en TensorFlow, un tensor tf.string es básicamente una cadena de bytes. Necesito hacer alguna operación con un nombre de archivo que se almacena en una cola usando tf.train.string_input_producer() .

A continuación se muestra un pequeño fragmento:

 key, value = reader.read(filename_queue) filename = value.eval(session=sess) print(filename)

Sin embargo, como una cadena de bytes, da una salida como la siguiente:

 b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x08\x06\x06\x07\x06\x05\x08\x07\x07\x07\t\t\x08'

Traté de convertir usando

 filename = tf.decode_raw(filename, tf.uint8) filename = ''.join(chr(i) for i in filename)

Sin embargo, los objetos Tensor no son iterables y, por lo tanto, esto falla.

¿Dónde me estoy equivocando?

¿Es una característica que falta en TensorFlow que tf.string se convierta fácilmente en una cadena de Python, o hay alguna otra característica que desconozco?

Más información

El filename_queue se ha preparado de la siguiente manera:

 train_set = ['file1.jpg', 'file2.jpg'] # Truncated for illustration filename_queue = tf.train.string_input_producer(train_set, num_epochs=10, seed=0, capacity=1000)
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

En tensorflow 2.0.0, se puede hacer de la siguiente manera:

 import tensorflow as tf my_str = tf.constant('Hello World') my_str_npy = my_str.numpy() print(my_str_npy) type(my_str_npy)

Esto convierte un tensor de cadena en una cadena de clase 'bytes'

over 4 years ago · Santiago Trujillo Denunciar

0

key, value = reader.read(filename_queue)

En esto, el lector solo lee el archivo que le proporciona, por lo que el valor es el contenido del archivo, no el nombre del archivo, pero puede generar la clave, luego obtiene el nombre del archivo

over 4 years ago · Santiago Trujillo Denunciar

0

En el conjunto de datos, puede hacer esto mediante el envoltorio tf.numpy_function

 def get_img(path): path = bytes.decode(path) # called when use dataset since dataset is generator img = skimage.io.MultiImage(path)[-1] print(img.shape, type(img)) return path def wrap_get_img(path): # turn tf.Tensor to tf.EagerTensor through the wrapper return tf.numpy_function(get_img, [path], [tf.string]) # [<tf.Tensor 'EagerPyFunc:0' dataset = tf.data.Dataset.list_files("../prostate-cancer-grade-assessment/train_images/*.tiff") \ .repeat() \ .shuffle(buffer_size=len(files)) \ .map(wrap_get_img ) for x in dataset: print(x) # Eager Tensor which can get string break
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda