У меня есть функция загрузки данных для нейронной сети, которая определяет объект генератора, поэтому я могу легко передать его функциям обучения и тестирования, реализованным в тензорном потоке.
В настоящее время я пишу сценарий оценки для своего небольшого проекта, и было бы очень удобно иметь возможность фиксировать отпечатки загрузчика данных (который я вызываю из сценария оценки), чтобы знать, какой набор данных я сейчас оцениваю - далее демо-код.
Загрузчик данных.py:
def dataloader(batch_size=4, training=true):
...
print(current_dataset)
....
yield input_data, ground_truth
Оценка.py:
from Dataloader import dataloader
train_gen = dataloader(batsize=5, training=True)
train_data, gt = next(train_gen)
current_dataset = ***print of Dataloader.py***
Есть ли удобный способ получить печать вызываемого скрипта или другой способ получить информацию, переданную в Evaluation.py (без изменения вывода функции загрузчика данных)
Заранее спасибо!
Обновлено:
Для других пользователей - мне пришлось обернуть следующий вызов моего генератора, чтобы добиться желаемого результата - например.
from Dataloader import dataloader
import io
import contextlib
train_gen = dataloader(batsize=5, training=True)
with contextlib.redirect_stdout(io.StringIO()) as f:
train_data, gt = next(train_gen)
current_dataset = f.getvalue()
Не совсем так, но спасибо! - ответ, который дал @Daweo, был именно тем, что я искал
Отвечает ли это на ваш вопрос? Передать частичный вывод функции другой функции в качестве аргумента?