Python, Pytorch ,Git , opencv报错汇总

错误: 引用模块报错

如: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

你可能感兴趣的:(Pytorch,Deep,Learning(深度学习),Machine,Learning(机器学习),python,深度学习(Deep,Learning))