Каков наилучший способ следить за процессами Python Keras (и его генератора), проверять случаи, если они зависают или не работают молча?
До сих пор мне удавалось придумать 2 обратных вызова: один, который печатает количество процессов (которые я проверяю вручную, просматривая логи), и тот, который печатает дату и время (чтобы я мог видеть, когда закончена последняя эпоха, и сравнивал его вручную). с текущим временем и временем эпохи). Хотя это не идеальное решение.
class ProcNumPrinter(Callback):
"""
Keras callback, that automatically monitors the number of processes (in one line at stdout).
Useful in cases, when we suspect, that some process did hang.
"""
def __init__(self):
super(ProcNumPrinter, self).__init__()
def on_epoch_end(self, epoch, logs=None):
print("Multiprocessing reporting {} processes".format(len(multiprocessing.active_children())))
class DatetimePrinter(Callback):
"""
Keras callback printing the date and time of the last callback activity.
Useful for checking for hanged processes when keras output used without progressbar.
"""
def __init__(self):
super(DatetimePrinter, self).__init__()
def on_epoch_end(self, epoch, logs=None):
print(time.strftime("%Y-%m-%d %H:%M"))