ubuntu离线配置tensorflow-gpu环境

安装TensorFlow

anaconda

下载: python3.6版本

安装: sudo sh Anaconda3-5.2.0-Linux-x86_64.sh

tensorflow

从pypi下载已经编译好的tensorflow_gpu

tensorflow_gpu依赖的python package, 一部分可以在python uci package下载, 一部分仍在在pypi下载.

tensorflow_gpu-1.10.1-cp36-cp36m-manylinux1_x86_64.whl
absl_py-0.4.0-py2.py3-none-any.whl
astor-0.7.1-py2.py3-none-any.whl
gast-0.2.0-py2.py3-none-any.whl
grpcio-1.14.1-cp36-cp36m-manylinux1_x86_64.whl
msgpack-0.5.6-cp36-cp36m-manylinux1_x86_64.whl
numpy-1.14.5-cp36-cp36m-manylinux1_x86_64.whl(版本限制!)
protobuf-3.6.1-cp36-cp36m-manylinux1_x86_64.whl
termcolor-1.1.0-py2.py3-none-any.whl
tensorboard-1.10.0-py3-none-any.whl
Markdown-2.6.11-py2.py3-none-any.whl

安装: pip install XXX.whl

安装Cuda

  • 下载: cuda9.0

  • cuda 下载
  • 安装: sudo sh cuda_9.0.176_384.81_linux.run

    • 当提示安装openGL, 若为双显卡且主显为非NVIDIA GPU, 则选择no
    • 安装cuda出现的问题. 因为cuda需要修改显卡驱动, 因此需要关闭图形界面.
# error:
It appears that an X server is running. 
Please exit X before installation. 
If you're sure that X is not running, 
but are getting this error, 
please delete any X lock files in /tmp.

# solution:
/etc/init.d/lightdm stop
# 然后重启
reboot
# refs: https://www.cnblogs.com/liyuanhong/articles/4919755.html
# 重启图形界面
sudo service lightdm start
或sudo lightdm restart
  • 验证
    • 输入ls /dev/nvidia*
      • 若显示/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm, 则安装成功.
      • 若显示ls: cannot access/dev/nvidia*: No such file or directory, 或/dev/nvidia0 /dev/nvidiactl(安装成功中显示中的一个或两个), 则需修改启动文件
        • sudo vi /etc/rc.local
        • 把第一行的#!/bin/sh -e中的-e去掉
        • 然后在exit 0前面插入下面运行脚本
        • 输入脚本后, 运行source /etc/rc.local更新
        • 在运行ls /dev/nvidia*将会看到三个文件, 则安装成功
/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
    # Count the number of NVIDIA controllers found.
    NVDEVS=`lspci | grep -i NVIDIA`
    N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
    NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
    N=`expr $N3D + $NVGA - 1`
    for i in `seq 0 $N`; do
        mknod -m 666 /dev/nvidia$i c 195 $i
    done
    mknod -m 666 /dev/nvidiactl c 195 255
else
    exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
    # Find out the major device number used by the nvidia-uvm driver
    D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
    mknod -m 666 /dev/nvidia-uvm c $D 0
else
    exit 1
fi
  • 配置环境变量

    • 运行sudo gedit /etc/profile , 在末尾添加下面文本, 然后运行source /etc/profile更新
export CUDA_HOME=/usr/local/cuda-9.0
export PATH=${PATH}:${CUDA_HOME}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${CUDA_HOME}/lib64
  • 安装完成后, 运行nvidia-smi进行测试

安装cudnn. 这里需要注册一个NVIDIA账户

  • 下载: cuDNN7.2.1

  • cudnn 下载
    • 安装(第一个就可以了): sudo dpkg -i libcudnn7_7.2.1.38-1+cuda9.0_amd64.deb
  • 安装出现问题

# error:
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link

# solution:
https://askubuntu.com/questions/900285/libegl-so-1-is-not-a-symbolic-link
第二个脚本可用

安装完成后进行测试

  • 运行python
import tensorflow
print(tensorflow.__version__)
  • 运行问题
2018-08-31 16:11:56.214798: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-08-31 16:11:56.217297: E tensorflow/stream_executor/cuda/cuda_driver.cc:397] failed call to cuInit: CUDA_ERROR_NO_DEVICE
2018-08-31 16:11:56.217342: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:157] no NVIDIA GPU device is present: /dev/nvidia0 does not exist
  • 运行nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
  • 原因分析:
    • 安装cuda失败, 重新安装cuda, cuda的安装可以见cuda 安装.
    • 安装的cuda版本不对, 则安装对应的cuda, 或者是cuda版本自动更新, 重启电脑解决.

参考

TensorFlow官方安装教程

cuda 安装

cudnn 安装

其他

代理上网

  • windows安装CCproxy
  • ubuntu设置环境变量
# proxy envir
MY_PROXY_URL=http://XXX.XX.XX.XX:808/
export ftp_proxy=${MY_PROXY_URL}
export http_proxy=${MY_PROXY_URL}
export https_proxy=${MY_PROXY_URL}

# proxy envir or
sudo apt-get -o Acquire::http::proxy="http://XXX.XX.XX.XX:808/" update
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容