深度学习遇到报错Bug解决方法(不定时更新)
建议Ctrl+F,输入关键词查找该网页有没有你遇到的bug
或者看左侧的目录
下面所有问题以及解决方法都是本人亲自遇到,且根据解决方法成功解决的,如果仍然有问题欢迎各位评论区讨论。
版本问题
1. 使用不用版本的Pytorch训练的权重模型无法加载。
pickle.UnpicklingError: A load persistent id instruction was encountered,
but no persistent_load function was specified.
Bug原因: 训练和测试的torch版本不一致。训练的时候是1.x,测试的时候是1.m。
解决办法: 先在1.x版本下加载模型,然后在保存的时候设置_use_new_zipfile_serialization=False
就行了。
1 | torch.save(model.state_dict(), model_path, use_new_zipfile_serialization=False) |
2. ValueError: numpy.ufunc size changed, may indicate binary incompatibility.
numpy版本过低导致,需要对numpy版本进行升级即可。
1 | pip uninstall numpy |
3. maskrcnn训练提示:FutureWarning: Input image dtype is bool
参考博客:https://blog.csdn.net/qq_39483453/article/details/118598535
scikit-image=0.17.2 的版本存在的问题,修改scikit-image包版本为0.16.2
1 | pip install -U scikit-image==0.16.2 |
环境配置/包安装
1. No module named ‘pycocotools‘
参考博客:超简单解决No module named ‘pycocotools‘
点击连接中任意一个版本,(我安装的是2.0.0),下载的时候一定要注意对应的python版本,cp36指的是python3.6,cp37和cp38同理。
下载之后,放入你喜欢的文件夹中,然后启动命令行,进入whl文件所在的目录,输入以下命令即可,注意install后面是你自己下载的whl文件全称
1 | activate tensorflow |
2. 成功解决AttributeError: ‘str‘ object has no attribute ‘decode‘
参考博客:https://blog.csdn.net/qq_41185868/article/details/82079079
1 | pip install 'h5py<3.0.0' -i https://pypi.tuna.tsinghua.edu.cn/simple |
3. 使用Google Colab时,将Tensorflow版本转换到1.x版本
参考博客:https://blog.csdn.net/qq_44262417/article/details/105222696
1 | tensorflow_version 1.x |
数据格式不匹配
TypeError: expected str, bytes or os.PathLike object, not NoneType
出现这个问题多半是没有指定路径,上述问题翻译过来是,期望一个字符串或者字节路径,而不是默认值,出现这个问题需要把指定路径的变量赋值即可。这种错误多半出现在运行开源代码时出现。
检查代码中对应位置的字符串变量,是否传入了确定的值,而非None。