#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. Пожалуйста, добавьте больше деталей к вопросу с тем, что вы уже пробовали. На данный момент сложно отладить вашу проблему с помощью данной информации