刚接触深度学习,没有系统学过,就尝试自己研究把代码跑起来,但是其中遇到了很多坑,记录一下,也多亏师兄师姐的帮助才能够对每个问题深刻理解
1.在anaconda中安装包一直安装不上
程序一开始运行报错,提示如下
Traceback (most recent call last): File "test.py", line 3, in <module> import PIL.Image as Image File "E:\Anaconda\anaconda\envs\AOD\lib\site-packages\PIL\Image.py", line 103, in <module> from . import _imaging as core ImportError: DLL load failed: 找不到指定的模块。
推测是pillow安装有问题,但是这个后面再安装,先把pycharm里面标红的错误
import skimage.io as sio 未识别的库
这个问题先解决了 那就是安装scikit-image包
打开anaconda 激活环境,输入命令 conda install scikit-image 结果就是一直等待 半天安装不上
Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve.
等不及了 肯定是有问题的,最终解决方案:
使用 pip安装:pip install scikit-image 迅速解决了,但是上面的原因不知道为什么,我也采用了清华源安装conda的,但是一直安装不上,pip一下就成功了
2.识别不出pillow库
最开始报错的是
Traceback (most recent call last): File "test.py", line 3, in <module> import PIL.Image as Image File "E:\Anaconda\anaconda\envs\AOD\lib\site-packages\PIL\Image.py", line 103, in <module> from . import _imaging as core ImportError: DLL load failed: 找不到指定的模块。
显然pillow库有问题,但是我之前conda我记得重装过了,但还是没用,报错,很头疼。
解决: conda uninstall pillow
然后 pip install pillow 就不报错了。原因也不清楚,但是就是有用
3.anaconda中提示gpu的cuda版本问题
在anaconda中输入执行指令,报错如下:
raise RuntimeError('Attempting to deserialize object on a CUDA ' RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
具体就是需要用合适的gpu对应的torch版本,采用师姐告诉我的好用的版本安装指令:
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
也不知道为什么是这个版本,但是确实好用 问题不报错了
4.GitHub源码年代久远,部分函数失效
眼看临门一脚 但是执行又报错:
Traceback (most recent call last): File "test.py", line 43, in <module> scipy.misc.toimage(prediction).save(args.output_filename) AttributeError: module 'scipy.misc' has no attribute 'toimage'
没办法 问chatgpt吧,这次他倒是很管用:
看起来您遇到了
scipy.misc
模块中没有toimage
属性的问题。这是因为在较新版本的SciPy中,toimage
已经被移除了。您可以尝试使用PIL库中的相关方法来保存图像。请尝试将以下行:
pythonCopy Code
scipy.misc.toimage(prediction).save(args.output_filename)
替换为:
pythonCopy Code
output_image = Image.fromarray((prediction * 255).astype(np.uint8)) output_image.save(args.output_filename)
通过使用PIL库中的
Image.fromarray
方法,您可以将NumPy数组转换为PIL图像对象,并且保存为图像文件。另外,请确保您的代码中已经正确导入了NumPy和PIL库:
pythonCopy Code
import numpy as np from PIL import Image
希望这能解决您遇到的问题。如果您有其他疑问或者需要进一步协助,请随时告诉我。
这个原因就是源代码太早了 很多和现在不适配,自己跑需要微调
综上
第一次大部分独立解决问题跑通了深度学习代码,踩过的坑后面不能再踩,确实很曲折,但是后面会越来越好的