运行Teachable Machine导出的图像分类模型报AlreadyExistsError如何解决
报错原因及解决方案
核心原因
该AlreadyExistsError: Another metric with the same name already exists报错由独立安装的Keras包和TensorFlow内置的Keras模块版本不匹配导致,谷歌Teachable Machine导出的图像分类模型对TensorFlow、Keras的版本组合有明确适配要求,版本不一致就会触发指标重复注册的冲突。
解决步骤
第一步:调整导入语句
优先修改代码的Keras导入方式,直接使用TensorFlow内置的Keras模块,避免两个独立包的冲突:
将代码第一行:
from keras.models import load_model
替换为:
from tensorflow.keras.models import load_model
修改后重新运行代码,大部分情况可以直接解决问题。
第二步:版本适配(修改导入后仍报错时执行)
如果修改导入后仍存在报错,说明当前TensorFlow版本和Teachable Machine导出的模型不兼容,需要安装适配的版本组合:
- 首先卸载现有冲突的依赖包:
pip uninstall -y keras tensorflow - 安装经过验证的适配版本:
pip install tensorflow==2.8.0 keras==2.8.0 - 安装完成后,使用第一步修改后的导入语句重新运行代码即可。
额外注意事项
- 如果运行时提示
Image.ANTIALIAS不存在,是由于高版本Pillow库弃用了该常量,将代码中对应行的Image.ANTIALIAS替换为Image.Resampling.LANCZOS即可。 - 操作前请确认你使用的Python环境(虚拟环境/全局环境),在对应环境下执行依赖安装命令,避免安装到错误环境。
内容的提问来源于stack exchange,提问作者Sumukh Jadhav
相关产品推荐
相关产品推荐

