Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

843
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda