Есть ли способ передать выходные данные tensorflow в файл .txt

#python #tensorflow

#python #tensorflow

Вопрос:

Итак, после запуска этой строки кода
python -m scripts.label_image --graph=tf_files/retrained_graph.pb --image=tf_files/106906.jpg

моя консоль выдает вывод, подобный этому:

Время обработки (1-изображение): 0,294 с
ClassA (оценка = 0,97202)
ClassB (оценка = 0,02572)
ClassC (оценка = 0,00226)

Есть ли способ, которым я могу поместить выходные данные в формат .txt или CSV? Я попытался добавить простой>output.txt в конец предыдущей команды, но это создало только пустой текстовый файл.

Исходный код выглядит следующим образом:

 for i in top_k:
   print(template.format(labels[i], results[i]))
  

Который я изменил на этот:

 for i in top_k:
    outputFile = open('output.txt', 'w')
    print(template.format(labels[i], results[i]), file = outputFile)
    outputFile.close()
  

К сожалению, это печатает только последнее. По сути, он печатает первое сообщение, а затем помещает второе вместо первого и т.д. Есть ли способ сохранить все строки в этом output.txt файл?

Ответ №1:

Вы могли бы либо распечатать выходные данные в файл с помощью print (3.x).

Пример (из статьи выше):

 # Code for printing to a file 
sample = open('samplefile.txt', 'w') 
  
print('GeeksForGeeks', file = sample) 
sample.close()
  

Или, если вы работаете на bash, перенаправьте sys.stdout в file. Или для Windows.

В качестве альтернативы вы могли бы извлечь его по атрибутам, например, с помощью понимания списка, и использовать CSV-библиотеку python для сохранения его в файл.

Комментарии:

1. Итак, я зашел в этот файл, и в конце он выглядит примерно так: for i in top_k: print(template.format(labels[i], results[i])) Итак, я попытался добавить , file = «output.txt «это после этой строки печати, таким образом, создавая код сейчас: print(template.format(labels[i], results[i]), file = "output.txt") Однако это не сработало

2. @EnigmaticFractal добавил практический пример из статьи

3. Я следил за этими изменениями, но теперь он говорит: AttributeError: объект ‘str’ не имеет атрибута ‘write’. С другой стороны, это создает output.txt файл.

4. Пожалуйста, добавьте больше деталей к вопросу с тем, что вы уже пробовали. На данный момент сложно отладить вашу проблему с помощью данной информации