记录个人编程之路上遇到的问题以及解决方案
Keras
【2017.10.26】 ImportError: Failed to import pydot. You must install pydot and graphviz for pydotprint to work.
Keras的Model visualization可以很方便可视化网络
1
2
3# Keras-2.0.8
from keras.utils import plot_model
plot_model(model, to_file='model.png')这个报错十分具有误导性…即使执行了pip install pydot;pip install pydot-ng;pip install graphviz还是有这个报错。
报错的原因其实不在于pydot,跟python包没有关系,而是因为graphviz需要安装二进制执行文件(跟imagick类似),所以还需要去官网下一个graphviz安装包安装。双击运行之后一路next,最后将C:\Program Files (x86)\Graphviz2.38\bin加入系统环境变量。1
2pip install pydot
pip install pydot-ng # Keras 2.0.6之后只需安装pydot-ng重启python即可
Ubuntu下解决方案
conda install graphviz
【2018.10.11】设置GPU内存占比
使用Tensorflow或Keras时对GPU内存限制
TensorFlow
【2017.10.27】 Windows安装tensorflow-gpu
- 先安装cuda_8.0.44_win10-exe
- 解压cudnn-8.0-windows10-x64-v6.0.zip,并将三个文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0中的相应位置
- 最后
pip install --ignore-installed --upgrade tensorflow-gpu
安装TensorFlow - 直接在官网下的是cuda v9.0,目前tensorflow暂不支持!
- 参考:TensorFlow安装方法二【GPU环境配置部分】(Windows10 64位 cpu and gpu)
【2017.12.13】 ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory
- 问题出在不能正确找到CUDA
在CUDA已经安装的前提下,在
.bashrc
文件中增加1
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/
如果需要在Pycharm中进行远程,则在run configuration中增加cuda lib的环境变量
【2018.05.11】 升级Tensorflow
- tensorflow升级到1.8之后,cuda需要升级到9.0
- 下载cuda_9.0.176_win10.exe以及cudnn-9.0-windows10-x64-v7.1.zip
- 自定义安装cuda_9.0.176_win10.exe,只安装CUDA
- 解压cudnn-9.0-windows10-x64-v7.1.zip,并将三个文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0中的相应位置
- 在系统环境变量中删除之前版本的CUDA
nvcc -V
验证版本- 目前tensorflow最新版本1.8.0只支持到CUDA9.0,如果想使用CUDA9.1,可以使用大神预编译好的版本,GitHUB地址。
Pycharm
【2017.12.13】 matplotlib显示远程服务器上图片
参考链接
从零开始:使用PyCharm和SSH搭建远程TensorFlow开发环境
Python plotting on remote server using PyCharm
Pycharm远程调用Centos GUI程序,显示在windows上
matplotlib绘图错误:TclError: no display name and no $DISPLAemmmm,进入正题,我误打误撞的解决方案。MobaXterm + pycharm
- 使用MobaXterm登陆服务器
echo $DISPLAY
查看MobaXterm转发显示的number,如localhost:10.0
- 在pycharm的run configuration中增加DISPLAY的环境变量
XGBOOST
- 【2018.05.15】 Ubuntu
pip install xgboost
(有毒)
Pandas
- 【2018.09.13】 关于reshape总结
1
2
3
4
5
6# 行向量转列向量
np.array([1, 2, 3]).reshape(-1, 1)
Out:
array([[1],
[2],
[3]])
Hexo
【2018.11.20】 LF will be replaced by CRLF
Example
1
The file will have its original line endings in your working directory. warning: LF will be replaced by CRLF in Somefile.
警告原因:Unix系统中,行末用LF(line feed, 换行)表示,而Windows中,行末用CRLF(carriage return and line feed, 回车换行)表示。
core.autocrlf
可实现自动转换。1
git config --global core.autocrlf true
所以,这个警告信息是不会有任何影响的,如果不愿意Git自动帮你转化,可设置为
false
,也就没有警告信息了。1
git config --global core.autocrlf false
Python
【2019.01.10】import搜索路径
- 当前目录
- $PYTHONPATH
- 默认路径
【2019.01.10】__init__.py
__init__.py
为空时,标识文件夹是一个package,package内的submodule或subpackage均可被import__init__.py
不为空时,只有__init__.py
内的item可以被import- 使用
from package import *
时,如果__init__.py
中定义了__all__
变量,则仅有这个list中的item能被import,否则均可被import