簡體   English   中英

使用 Cuda 模塊時,Numba 將有關 Nvidia 驅動程序的信息打印到 python 控制台。 如何壓制這個?

[英]Numba printing information regarding Nvidia driver to python console when using its Cuda module. How to suppress this?

我發現 Numba 在使用其 Cuda 模塊時將有關我的 Nvidia 驅動程序的信息打印到我的 python 控制台。 例如,當使用

numba.cuda.to_device(SOME_ARRAY)

首次,

信息 - 2020-12-21 19:16:22,163 - 驅動程序 - 初始化

以紅色打印到我的控制台。 其他時間使用時,

信息 - 日期時間 - 驅動程序 - 添加掛起的 dealloc:cuMemFree_v2 NUM_BYTES 字節

被打印。 例如:

INFO - 2020-12-21 19:18:34,473 - 驅動程序 - 添加掛起的 dealloc:cuMemFree_v2 729120 字節

有什么方法可以阻止 Numba 打印這些信息?

_ _

正如評論中的建議,我已經嘗試過設置

sys.stdout = open(os.devnull, "w") 

sys.stderr = open(os.devnull, "w") 

在運行numba.cuda.to_device()之前,但這並沒有解決問題。

我還研究了 Numba 的環境變量,但沒有發現任何解決問題的方法。 具體來說,我嘗試過設置

os.environ['NUMBA_CUDA_LOG_LEVEL'] = str(logging.NOTSET) 

os.environ['NUMBA_CUDA_LOG_LEVEL'] = str(logging.DEBUG)

兩者都沒有解決這個問題。 我也試過設置

numba.config.CUDA_LOG_LEVEL = logging.NOTSET 

numba.config.CUDA_LOG_LEVEL = logging.DEBUG 

但這又一次沒有解決問題。

一段時間后,我找到了解決這個問題的方法。 正如上面評論中的 talonmies 所暗示的,這些消息來自 Numba 記錄器。 在我的機器上,日志級別設置為“INFO”,Numba 直接打印到控制台。 要禁止打印信息,請將以下內容添加到 python 程序中:

import logging
numba_logger = logging.getLogger('numba')
numba_logger.setLevel(logging.WARNING)  # Or any other desired level that has a value above that of "INFO".

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM