尝试加载 Yolo 模型权重时,AttributeError:‘version_info’对象没有属性‘__version__’

尝试加载 Yolo 模型权重时,AttributeError:‘version_info’对象没有属性‘__version__’

我被 Stack Overflow 推荐到这个平台来回答这个问题。

我正在尝试遵循如何使用 TensorFlow 和 Flask 构建对象检测 API视频(在 YouTube 上)。

我克隆了 GitHub 存储库,然后下载了权重文件。我还创建了一个虚拟环境python 3.6.0(因为 Python 3.9.2 因与文件中的 TensorFlow 版本 2.2 不兼容而出现错误requirements.txt)。

然而,当我尝试使用以下命令加载权重时,

python load_weights.py 

我收到这个错误,

文件“load_weights.py”,第 4 行,位于 <module>
    从 yolov3_tf2.models 导入 YoloV3、YoloV3Tiny

回溯(最近一次调用最后一次):
  文件“load_weights.py”,第 4 行,位于 <module>
    从 yolov3_tf2.models 导入 YoloV3、YoloV3Tiny
  文件“E:\Example4\Object-Detection-API\yolov3_tf2\models.py”,第 23 行,位于 <module>
    从.utils 导入broadcast_iou
  文件“E:\Example4\Object-Detection-API\yolov3_tf2\utils.py”,第 5 行,位于 <module>
    从 seaborn 导入 color_palette
  文件“E:\Example4\Object-Detection-API\venv\lib\site-packages\seaborn\__init__.py”,第 2 行,位于 <module>
    从.rcmod 导入 * #noqa: F401,F403
  文件“E:\Example4\Object-Detection-API\venv\lib\site-packages\seaborn\rcmod.py”,第 5 行,位于 <module>
    导入 matplotlib 作为 mpl
  文件“E:\Example4\Object-Detection-API\venv\lib\site-packages\matplotlib\___init__.py”,第 107 行,位于 <module>
    从 . 导入 cbook、rcsetup
  文件“E:\Example4\Object-Detection-API\venv\lib\site-packages\matplotlib\rcsetup.py”,第 28 行,位于 <module>
    从 matplotlib.fontconfig_pattern 导入 parse_fontconfig_pattern
  文件“E:\Example4\Object-Detection-API\venv\lib\site-packages\matplotlib\fontconfig_pattern.py”,第 15 行,位于 <module>
    从 pyparsing 导入(Literal、ZeroOrMore、Optional、Regex、StringEnd、
  文件“E:\Example4\Object-Detection-API\venv\lib\site-packages\pyparsing\__init__.py”,第 130 行,位于 <module>
    __version__ = __version_info__.__version__
AttributeError:'version_info' 对象没有属性 '__version__'

和往常一样,重要的部分在最后;请注意最后一行是标题中显示的错误。我尝试在 Stack Overflow 和网络上的其他地方(使用 Google 搜索)找到此信息,但找不到任何对我有用的东西。

一个答案通过 encubosPython 库 pyparsing 中的未知版本 Stack Overflow 上告诉我更换 pyparsing库。

我使用命令检查了 pyparsing 版本pip show pyparsing,结果如​​下:

WARNING: Ignoring invalid distribution -ensorflow (e:\hassan\example4\object-detection-api\venv\lib\site-packages)
Name: pyparsing
Version: 3.0.7
Summary: Python parsing module
Home-page: https://github.com/pyparsing/pyparsing/
Author: Paul McGuire
Author-email: [email protected]
License: MIT License
Location: e:\example4\object-detection-api\venv\lib\site-packages
Requires:
Required-by: matplotlib

之后我尝试使用命令安装 pyparsing 版本 3.0.7

pip install pyparsing==3.0.7

然而,我收到了这条消息,

Requirement already satisfied: pyparsing==3.0.7 in e:\example4\object-detection-api\venv\lib\site-packages (3.0.7)
WARNING: You are using pip version 21.3.1; however, version 22.0.3 is available.
You should consider upgrading via the 'E:\Example4\Object-Detection-API\venv\Scripts\python.exe -m pip install --upgrade pip' command.

我也尝试卸载 pyparsing 并再次安装指定的版本,但问题仍然存在。

另一个解决方案建议我还安装tensorflow-gpu GitHub 存储库中提供的,

pip install -r requirements-gpu.txt

我尝试了这个;但是,这也没有用。我还尝试卸载并再次安装 TensorFlow,但同样的错误仍然存​​在。

我也尝试用这个来升级我的 pip,

python -m pip install --upgrade pip

这告诉我,

Requirement already satisfied: pip in e:\hassan\semester 8\research\example4\object-detection-api\venv\lib\site-packages (21.3.1)

然而,最后它仍然说有新版本可用(但它不会安装它,我不知道是什么原因)。

WARNING: You are using pip version 21.3.1; however, version 22.0.3 is available.
You should consider upgrading via the 'E:\Example4\Object-Detection-API\venv\Scripts\python.exe -m pip install --upgrade pip' command.

我该如何解决这个version错误?

相关内容