目录
一、解决报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 15: invalid continuation byte
二、解决ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based pro
三、解决OSError: [WinError 1314] 客户端没有所需的特权。: 'D:\\my\\else\\code-learning2\\python-study\\deep-learning\\network\\yolo\\Yolov5_for_PyTorch-master\\Yolov5_for_PyTorch-master\\coco\\train2017' -> './images/train2017'
四、解决RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
一、解决报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe3 in position 15: invalid continuation byte
问题:出现了无法识别的字符,导致模型文件加载失败,并且这个无法识别的字符是第15个字符。
# 读取验证集csv
X_valid = pd.read_csv("./database/X_valid.csv", index_col=0)
y_valid = pd.read_csv("./database/y_valid.csv", index_col=0)
报错如下,
原因:实际上是因为这段代码中传递模型文件路径字符出现了utf-8无法解码的情况。
解决方法:模型文件路径中包含 中文 ,导致解码失败,具体来说是存储该模型的文件夹为中文,将文件夹修改为 英文 后,发现代码运行成功了。
二、解决ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based pro
问题:安装pycocotools时报错,
原因:根本错误在于Microsoft Visual C++ 14.0 or greater is required.
解决方法:我们可以直接安装Microsoft C++ Build Tools,而不需要安装Visual Studio。
(1)下载地址:http://my.visualstudio.com/,首先,登录账号,点击进入下载页面。接下来,在下载页面搜索 Build Tools for Visual Studio 2015 with Update 3,
地址:Downloads - Visual Studio Subscriptions Portal
在搜索结果中,点击Visual Studio 2015 update 3后,下载对应的文件即可,约1.1G,这里需要将格式修改为DVD。
(2)下载完成后,我们得到了文件mu_visual_cpp_build_tools_2015_update_3_x64_dvd_dfd9a39c.iso,
双击打开,然后双击VisualCppBuildTools_Full.exe即可自动进行安装。
开始安装,
(3)安装后,即可正常使用pip进行对应包的安装,
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pycocotools
OK,解决了。
三、解决OSError: [WinError 1314] 客户端没有所需的特权。: 'D:\\my\\else\\code-learning2\\python-study\\deep-learning\\network\\yolo\\Yolov5_for_PyTorch-master\\Yolov5_for_PyTorch-master\\coco\\train2017' -> './images/train2017'
解决方法:以管理员运行pycharm,然后重新运行训练命令即可。
四、解决RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
问题:
原因:
- 模型训练的时候pytorch版本与目前使用的pytorch版本不一致,不能很好的兼容。
- 原来模型损坏。
解决方法:
- 模型训练的时候pytorch版本与目前使用的pytorch版本不一致,不能很好的兼容。
- 原来模型损坏:预训练模型文件损坏 或者 预训练参数文件损坏 找到并替换就ok了。
确实,我是先训练的模型,保留模型参数到一个.ph文件,才进行的测试。 看网上说是因为原来模型损坏,然后我猜测是因为.ph文件损坏的问题,重新训练模型之后,就可以了。