python - 停止打印 INFO:cmdstanpy:start chain 1, INFO:cmdstanpy:finish chain 1
问题描述
我正在使用 cmdstanpy 而不是 pystan 运行 FBProphet。出于我的目的,我必须在 jupyter notebook 中多次运行训练和预测,这会导致不断打印:
INFO:cmdstanpy:start chain 1
INFO:cmdstanpy:finish chain 1
当我必须为超过 10000 个模型运行此问题(我在更新训练集后分别预测每天的值)并打印 20000 行时,就会出现问题。这使得笔记本非常慢。有什么办法可以阻止 FBProphet frmo 打印这两行?
我尝试过的事情:
- Verbose False 给出一个错误:
TypeError Traceback (most recent call last)
<ipython-input-126-586e1241babb> in <module>
17 model = Prophet(uncertainty_samples=True, weekly_seasonality = True,
18 yearly_seasonality= True, changepoint_prior_scale = 0.5,
---> 19 daily_seasonality=False, verbose = False)
20 model.add_seasonality(name='monthly', period=30.5, fourier_order=2)
TypeError: __init__() got an unexpected keyword argument 'verbose'
- 如何控制 fbprophet 的输出? 这不会抑制输出。
请指教。
解决方案
日志记录级别可以通过 CmdStanModel 对象创建时的 logger 选项来控制:
import logging
logger = logging.getLogger('simple_example')
logger.setLevel(logging.WARNING)
CmdStanModel(stan_file=your_path,logger=logger)
有关更多选项,请参阅https://docs.python.org/3/howto/logging.html#logging-levels。以上只是创建了一个自定义记录器,以便仅打印警告级别的消息,而不是 CmdStanPy 实用程序中定义的默认信息级别(https://cmdstanpy.readthedocs.io/en/v0.9.67/_modules/ cmdstanpy/utils.html )
推荐阅读
- python - 可中断睡眠?
- ruby - 如何在 Ruby 中迭代实例属性名称和值?
- r - 当数据框包含日期格式时,为什么按列应用 sum 和 colSums 不同?
- powerbi - 按 DAX 中的辅助字段过滤
- postgresql - 在 docker 中运行的 Postgres 数据库一直挂起
- python - 如何存储每个类别对象的总提款金额?
- flutter - MapboxMap 的控制器在被侦听器调用时的 cameraPosition 等于 null
- microservices - 我应该如何从其他服务加载历史事件?
- node.js - 如何防止代码多次执行
- python - 如何在 BERT 模型上应用剪枝?