我被 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
错误?