错误: 引用模块报错
如:module 'torch.nn' has no attribute 'init'
解决办法:
Linux下:找到~/anaconda3/lib/python3.6/site-packages/torch/nn/init.py 文件,增加一行:
from .modules import *
from .parameter import Parameter
from .parallel import DataParallel
from .init import *
再者,如:AttributeError: module 'torch.utils' has no attribute 'data'
Windows下:C:\ProgramData\Anaconda3\Lib\site-packages\torch\utils\__init__.py (自己torch的地址) 增加一行:
from .data import *
这类似的问题都可这样解决
问题:PIL:Python Imaging Library && Pillow torchvision中需要PIL(Python Imaging Library)
解决办法:
PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。如果安装了Anaconda,Pillow就已经可用了。否则,需要在命令行下通过pip安装:
pip install pillow
问题:python 3以上版本使用pickle.load读取文件报UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 6
解决办法: pickle.load(data, encoding='iso-8859-1')
错误:在git 调用push时出现报错 error: src refspec master does not match any. (初学者容易出现)
解决办法:原因是工作区(本机)的项目中没有没有目录或者文件(空项目),当push时会出现这个错误,只要add andcommit readme文件即可.
错误:TypeError: slice indices must be integers or None or have an __index__ method
python 中除法运算 / 运算的结果类型是浮点型,这点不想其他如java语言得到是截断后的整数,因此出现上述错误,
解决办法:将 / 更改为 // 即可
错误: AttributeError: module 'cv2.cv2' has no attribute 'SURF' 或者 AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'
解决办法:opencv将SIFT等算法整合到xfeatures2d集合里面了,因此报前面那个错,如果cv2.xfeatures2d.SURF_create()出现后面的错的话请重新安装 opencv-contrib-python
pip uninstall opencv-contrib-python pip uninstall opencv-python pip install opencv-contrib-pytho
错误:AttributeError: 'dict' object has no attribute 'iteritems'
解决办法:Python3.5之后:iteritems变为items
错误:RuntimeError: cuda runtime error (10) : invalid device ordinal at torch/csrc/cuda/Module.cpp:88 或者AttributeError: module 'torch._C' has no attribute '_cuda_getDevice'. Pytorch torch.load(parameters) 时出错
原因:pytorch在save(bestmodel)时会同时保存gpu的状态信息,如果将bestmodel移植到另外一台机器或者cpu上跑时会报这个有关gpu的问题
解决办法:torch.load(parameters, map_location={'cuda:0':'cuda:6'}) 利用map_location字段将原先的保存gpu_id信息修改就可以了,不过必须记住原先的gpu_id, 不记得的话,可以一个个的试.
错误:采用opencv 读取image是发警告 libpng warning: iCCP: known incorrect sRGB profile
原因:libpng版本问题
解决办法 进入图像目录 执行命令 mogrify *.png