Я не уверен, что это правильный вопрос или формулировка, поэтому не стесняйтесь предлагать изменения!
Теперь моя проблема заключается в следующем: предположим, у нас есть алгоритм, долго работающий, такой как обучение модели машинного обучения, например нейронной сети, поэтому код выглядит следующим образом:
for training_iteration in range(training_iterations_num):
model.train()
Теперь я хочу построить результаты тренинга после каждой оценки, чтобы теоретически код стал примерно таким:
for training_iteration in range(training_iterations_num):
model.train()
score = model.evaluate()
plot.add_point_to_plot(x=training_iteration, y=score)
Это для долгосрочного алгоритма, который будет работать в течение более длительных периодов времени, ночевок или даже нескольких дней, поэтому нам нужен надежный способ наблюдать за его развитием.
Matplotlib, насколько я знаю, не предлагает удобного способа сделать это. Конечно, у него есть API для анимации и тому подобное, но это НЕ то, что мне нужно. Это цикл, в котором метод тренинга отнимает 90-99% процессорного времени, и нет никакого способа узнать, сколько времени занимает один раунд обучения, это займет столько времени, сколько потребуется куче линейной алгебры на заднем плане. брать.
Мне нужен какой-то способ представить эволюцию алгоритма во время выполнения этого алгоритма. Основной поток процесса, очевидно, будет занят выполнением вычислений, поэтому он не должен давать мне «не отвечающих», как обычно делают графические интерфейсы, когда вы загружаете их поток, и он должен поддерживать простое добавление данных в существующий график / линию, чтобы показать эволюцию алгоритма.