我正在使用Facebook先知来预测未来的销售量。 问题在于,依赖于问题的pystan在训练时会输出优化程序消息。
我找到了一种方法来阻止来自https://github.com/facebook/prophet/issues/223#issuecomment-310497971的烦人消息,但是只有在主进程中运行该消息时,它才起作用。
功能:
def func():
with suppress_stdout_stderr():
p = Propet(*kwargs).fit(training_data)
如果在多进程中运行,如:
joblib
Parallel(n_jobs=process_num)(
delayed(func)(pid) for pid in pids
)
多处理
with Pool(1) as p:
r = p.map(func, pids)
烦人的日志消息仍会打印。
我试图将其静音
def mute():
sys.stdout = open(os.devnull, 'w')
with Pool(1, initializer=mute) as p:
r = p.map(func, pids)
没有成功。