You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenPose推理遇matplotlib 3.9.0报错:module 'matplotlib.cm'无get_cmap属性

解决AttributeError: module 'matplotlib.cm' has no attribute 'get_cmap'问题

问题原因

matplotlib 3.9.0对颜色映射(colormap)的API做了变更,原matplotlib.cm.get_cmap()方法被移除,相关功能迁移到matplotlib.colormaps模块下,导致旧代码调用该方法时报错。

解决方案

方案1:修改代码适配新版本

打开报错文件decode_pose.py,将第18行的代码:

cmap = matplotlib.cm.get_cmap('hsv')

替换为以下两种写法之一:

# 写法1:直接通过字典索引获取颜色映射
cmap = matplotlib.colormaps['hsv']
# 写法2:使用get方法(推荐,可处理颜色映射不存在的情况)
cmap = matplotlib.colormaps.get('hsv')

方案2:回退到兼容的matplotlib版本

如果不想修改代码,可卸载当前版本并安装之前能正常运行的旧版本(比如3.8.x系列):

pip uninstall matplotlib -y
pip install matplotlib==3.8.4

方案3:添加版本兼容代码(可选)

若需要代码同时兼容新旧matplotlib版本,可加入版本判断逻辑:

import matplotlib
from matplotlib import cm

if matplotlib.__version__ >= "3.9.0":
    cmap = matplotlib.colormaps.get('hsv')
else:
    cmap = cm.get_cmap('hsv')

内容的提问来源于stack exchange,提问作者辻元美桜

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 06:54:53