Debug Myself | 沐雨浥尘

Debug Myself

记录个人编程之路上遇到的问题以及解决方案

Keras

  1. 【2017.10.26】 ImportError: Failed to import pydot. You must install pydot and graphviz for pydotprint to work.

    参考链接
    keras可视化遇到pydot&graphviz无法导入问题
    stackoverflow

    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
    2
    pip install pydot
    pip install pydot-ng # Keras 2.0.6之后只需安装pydot-ng

    重启python即可

    Ubuntu下解决方案conda install graphviz

  2. 【2018.10.11】设置GPU内存占比
    使用Tensorflow或Keras时对GPU内存限制

TensorFlow

  1. 【2017.10.27】 Windows安装tensorflow-gpu

  2. 【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的环境变量

  3. 【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

  1. 【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 $DISPLA

    emmmm,进入正题,我误打误撞的解决方案。MobaXterm + pycharm

    • 使用MobaXterm登陆服务器
    • echo $DISPLAY查看MobaXterm转发显示的number,如localhost:10.0
    • 在pycharm的run configuration中增加DISPLAY的环境变量

XGBOOST

  1. 【2018.05.15】 Ubuntupip install xgboost(有毒)

Pandas

  1. 【2018.09.13】 关于reshape总结
    1
    2
    3
    4
    5
    6
    # 行向量转列向量
    np.array([1, 2, 3]).reshape(-1, 1)
    Out:
    array([[1],
    [2],
    [3]])

Hexo

  1. 【2018.11.20】 LF will be replaced by CRLF

    参考链接
    LF will be replaced by CRLF in git - Explanation

    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

  2. 【2019.01.10】import搜索路径

    sys.path

    • 当前目录
    • $PYTHONPATH
    • 默认路径
  3. 【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
Buy me a cup of coffee