Fal*_*art 0 python warnings python-imageio
我生成单色图像并使用保存它们imageio.imwrite
。每次保存文件时,都会收到以下警告:
WARNING:root:Lossy conversion from float64 to uint8. Range [-0.24890179009891278, 2.35786261304524]. Convert image to uint8 prior to saving to suppress this warning.
Run Code Online (Sandbox Code Playgroud)
我不在乎这种“有损转换”。一切看起来都很好,并且工作正常。
但是,每生成约100张图像,我都会得到不同的警告,我想抓住它们。因此,我想忽略以上内容。
我试图忽略它,但是即使我打电话
import warnings
warnings.simplefilter('ignore')
Run Code Online (Sandbox Code Playgroud)
事先我仍然收到此警告。
该库不使用该warnings
模块。相反,它通过调用顶级函数使用logging
框架记录消息。见功能:logging.warning()
imageio.core.util._precision_warn()
from logging import warning as warn
# ...
def _precision_warn(p1, p2, extra=""):
t = (
"Lossy conversion from {} to {}. {} Convert image to {} prior to "
"saving to suppress this warning."
)
warn(t.format(p1, p2, extra, p2))
Run Code Online (Sandbox Code Playgroud)
这是...不幸的是,您无法使用logging
API 轻松禁用此功能。最佳实践是对库使用专用的命名记录器。
因此,最好对库进行修补,以使上述功能不起作用:
import imageio.core.util
def silence_imageio_warning(*args, **kwargs):
pass
imageio.core.util._precision_warn = silence_imageio_warning
Run Code Online (Sandbox Code Playgroud)
您还可以使所有日志记录保持沉默,并在根记录器上调整配置。这是不理想的,因为您可能想使用自己记录日志或使用性能更好的第三方库。
我对该项目提出了一个问题,要求他们修复其记录问题。
归档时间: |
|
查看次数: |
1306 次 |
最近记录: |