buntu16.04 源码安装CUDA8.0 tensorflow GPU 踩坑记

来源:互联网 发布:app电玩城源码出售 编辑:程序博客网 时间:2024/05/25 21:36

Ubuntu16.04 源码安装tensorflow GPU 踩坑记

最近需要源码安装一下tensorflow的GPU源码,踩了很多坑留给需要的

1.首先安装CUDA

1.1 如果你原来有NVIDIA的驱动先卸载掉

 sudo apt-get  remove --purge nvidia*

1.2去官网下载对应的驱动 Linux

一定是run包

1.3禁用掉nouveau(一个开源的驱动)

新建

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

写入

blacklist nouveaublacklist lbm-nouveauoptions nouveau modeset=0alias nouveau offalias lbm-nouveau off

1.4 安装驱动 !!!有坑

首先,Ctrl+alt+F1进入终端然后 结束sudo service lightdm stop安装 注意一定要加 -no-x-check -no-nouveau-check -no-opengl-files主要是OpenGL,由于是双显卡,安装回覆盖原来是,然后主显卡就无法工作了。不加的的话,可能循环登录界面,进入不了界面安装完后sudo service lightdm restart输入 nvidia-smi会有信息,表示成功如果之前有装了unity,进入桌面什么都没有,可以右键打开终端执行 unity --reset-icons  桌面会闪几下

1.5去下在CUDA8.0安装包!!!

一定要run包安装的时候不要选驱动!!!打开~/.bashrc文件:sudo vim ~/.bashrc将以下内容写入到~/.bashrc尾部:export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/安装CUDA导致屏幕分辨率不正确退出图形界面ctrl+alt+F1进入终端先备份sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak再生成sudo touch /ect/X11/xorg.conf最后重启

1.6安装cudnn

去官网下载直接解压即可

如果下载的是6.0 推荐6及以上,不然会出现一个6.so文件找不到!!!
sudo tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz

sudo cp cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h
/usr/local/cuda/lib64/libcudnn*

2.编译tensorflow

默认python已经装好。报什么错,你就pip install 什么包 ,一般都可以百度到,这个不是主要的坑

tensorflow源码去github clone下来

2.1安装bazel

https://docs.bazel.build/versions/master/install-ubuntu.html

2.2 进入tensorflow主目录!!!

首先./configure!!!!!!注意,除了CUDA和cudnn选yes外,其他都默认!!!还有cuda的路径重新选 usr/local/cuda-8.0不是原来的,不然后面会缺少文件找不到。!!!注意GCC的问题,如果出现GCC版本问题可以考虑升级GCC,我用的是6.0但是CUDA可能不支持,所以要打开/usr/local/cuda/include/host_config.h注释掉:error -- unsupported GNU version! gcc versions later than 5.3 are not supported!结果如下:#if __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 3)//#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!#endif /* __GNUC__ > 5 || (__GNUC__ == 5 && __GNUC_MINOR__ > 1) */加上//才是注销。#不是

2.3编译安装

注意!!!一般不会太久,如果超过2个小时,就可能出错了,但还是没报错,可以考虑换GCC。我的编译了1个小时
CPU版
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

GPU版
bazel build -c opt –config=cuda //tensorflow/tools/pip_package:build_pip_package

生成python包
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

2.4编译出错的有

1.error – unsupported GNU version! gcc versions later than 5 are not supporte

CUDA GCC支持错误。看上面的屏蔽掉这个错误

2.This rule is missing dependency declarations for the following files
我是再configure的时候,重新选/usr/local/cuda8.0 是不是/usr/local/cuda。
github上也有解决方法,但我试了无效
是修改/third_party/gpus/crosstool/CROSSTOOL文件(我的有2个,可以选择修改nvcc的)
把提示的incldue目录加
cxx_builtin_include_directory:

3.总结

本文主要是提示踩的坑,没有完整的链接和命令安装,可以参考其他的。也主要是提示一下遇到的坑。我就是遇到上面的所有的坑,搞了

天,主要是驱动安装,重复登录,然后登录有没桌面图标和窗口。最后CUDA和tensorflow的编译问题,其实主要是GCC和配置的路径问题。

阅读全文
0 0
原创粉丝点击