pycharm配置tensorflow_hub时提示UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown的解决办法
发生过程:调用TensorFlow Object Detection API做目标检测时候发生的
错误问题: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown
代码是从tensorflow实例教程复制过来的。并且在jupyter notebook已经成功运行。
但是在Pycharm中会报错误。
我的环境是ubuntu22.4 python3.11 tensorflow 2.17 用conda安装的虚拟环境
问题分析
从报错原因来看大概是图形渲染组件的问题,于是尝试更换后端渲染模式
在import matplotlib;后修改了matplotlib.use(‘TkAgg’) 但是仍然报错。
后来又经过一番排查
发现由于在后面又引入的
from object_detection.utils import visualization_utils as viz_utils
这个包引起问题。
它在工作的时候重新引入并设置为“Agg”,导致我开始设置的‘TkAgg’失效
查看源码:
尝试把第29行matplotlib.use(‘Agg’)改为matplotlib.use(‘TkAgg’)
重新测试,解决问题。