情形:pip安装tensorlayer的时候出现错误
错误提示:
Cannot uninstall 'scikit-learn'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
原因:
需要安装新版scikit-learn,但是现在已经安装了旧版本的scikit-learn,又因为旧版本依赖太多,不能清晰卸载。所安装新版scikit-learn失败,导致安装tensorlayer失败。。。有点饶。。。
解决:
1.conda install scikit-learn
2.pip install tensorlayer
用conda先安装scikit-learn,conda可以智能的卸载掉旧版本安装新版本,再安装tensorlayer就没有错误了
情形:import cv2 出现错误
错误提示:ImportError: /lib/x86_64-linux-gnu/libz.so.1: version `ZLIB_1.2.9' not found
原因:因为安装了多个版本的libz,系统找不到正确的版本,需要我们手动指定一下
解决:
1.sudo gedit .bashrc
2.末尾添加 export LD_LIBRARY_PATH=/usr/local/anaconda/lib:$LD_LIBRARY_PATH (具体根据anconda的安装路径来)
3.reboot重启
情形:使用plt出现错误
错误提示:TclError: Can't find a usable init.tcl in the following directories: /opt/anaconda1anaconda2anaconda3/lib
原因:貌似是tcl这个东西找不到,但是这个tcl好像是属于的tk,所以重新安装一下tk
解决:conda install tk
情形:在解决了上面那个问题后,又出现了一个新问题
错误提示:ImportError: No module named '_sysconfigdata _linux x86_64-linux-gnu'
原因:
解决:我用的是pycharm,只要我把venv删掉重新弄一个,就可以了。。。
情形:pycharm没法加载cv2
错误提示:ImportError: No module named 'cv2'
原因:明明已经用conda install opencv了,但是却没法导入。。。但是pip安装opencv-python却ok了
解决:pip install opencv-python
情形:安装好tensorflow后导入报错
错误提示:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
原因:出现这种情况可能的原因一个是tf的版本和cuda的版本不匹配,另外一个原因是系统不知道去哪里找到目标文件,我就属于后者
解决:sudo ldconfig /usr/local/cuda-9.0/lib64
情形:使用cv2的putText报错
错误提示:TypeError: Layout of the output array img is incompatible with cv::Mat (step[ndims-1] != elemsize or step[1] != elemsize*nchannels)
原因:貌似是cv2和numpy之间的bug,好像和两者的版本有关
解决:在cv.putText之前,加一句img = img.copy()
情形:pip在升级后打不开了
错误提示:Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
原因:升级之后/usr/bin/pip里面导入的写法应该变的,但是不知道为什么没有变过去
解决:只能我们自己手动变了
sudo gedit /usr/bin/pip
把里面的from pip import main 改成 from pip._internal import main
情形:pip install xx.whl 出现错误,甚至升级pip install --upgrade pip都一样不行
错误提示:TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
原因:
解决:改了国内源,操作参考https://blog.csdn.net/chenghuikai/article/details/55258957
情形:
错误提示:TypeError: 'int' object is not callable
原因:某个整数被作为函数一样使用了。仔细检查一下是否某个变量和某个函数重名了
解决:
情形:python中使用字符串方法replace报错,str2 = str1.replace(old='hi',new='hello')
错误提示:TypeError: replace() takes no keyword arguments
原因:貌似是因为这个函数不支持在参数前面加上参数的名字
解决:str2 = str1.replace('hi','hello')
情形:用f.write存储numpy矩阵变量出现错误
错误提示:valueerror ndarray is not c-contiguous
原因:应该是之前用np.transpose变过矩阵的维度顺序,导致变量在内存中不是按c顺序而是F顺序存储(可以用矩阵属性flags查看,array.flags)
解决:在存储之前加一句np.ascontiguousarry,将其转换成c顺序存储
情形:tensorflow读取ckpt文件报错
错误提示:DataLossError (see above for traceback): Checksum does not match: stored 2197230167 vs. calculated on the restored bytes 3829687835
原因:这个ckpt文件有问题,可能是用优盘拷来拷去的时候出错了
解决:换个ckpt文件
情形:打不开文件夹了
错误提示:Unable to access “新加卷” Error mounting /dev/sda6 at /media/hsq/新加卷: Command-line `mount -t "ntfs" -o
原因:
解决:sudo ntfsfix /dev/sda6
情形:tensorflow读取ckpt错误
错误提示:OP_REQUIRES failed at save_restore_v2_ops.cc:184 Too many open files
原因:train_writer = tf.summary.FileWriter()对象生成太多了,不会自动释放的,需要手动释放train_writer.close()
解决:train_writer.close()
情形:
错误提示:
原因:
解决: