因为windows只支持py3版本的tensorflow,而很多项目是用py2构建的,所以我又尝试在Ubuntu16.04中再次安装GPU版的tensorflow。

我们需要安装的内容有Cuda8.0和Cudnn5.1和tensorflow-gpu。

硬件检测

检查你的显卡是否可以安装Cuda

首先,你要有一块NVIDA的显卡,然后性能评分要大于3.0

TensorFlow GPU support requires having a GPU card with NVidia Compute Capability >= 3.0. Supported cards include but are not limited to: 
NVidia Titan 
NVidia Titan X 
NVidia K20 
NVidia K40

显卡性能检测请看这里

简单得说起来呢,你要有一块最好是GTX的显卡,或者有一块还算新的(7,8,9,10系列),再或者在同代中还算凑合的(640之类)的卡,不然还是攒钱买台游戏本吧哦,不对,是学习机

笔者的卡是GTX950m,虽然比不上像1080和泰坦这样的逆天神卡,但是2G显存还是能在笔记本中排前十的当年为了玩游戏买的游戏本,今天居然能用来学习,也是感慨良多啊,以前玩游戏是多么愧疚万分

既然显卡可以用,那我们就要开始正式安装Cuda了。

下载Cuda

按装官方教程,我们可以应该安装Cuda8.0和Cudnn V5.1
(由于Cuda7.5最高支持15.04,所以不推荐安装Cuda7.5,虽然也能运行。另外Cuda8.0一定要安装Cudnn5.1,版本必须匹配)

大家可以到这里来下载Cuda8.0

大家注意在这里选funfile local,因为选deb的话会遇到apt get的源损坏问题,所以最好不要下那个

降级gcc和g++

由于Cuda不支持新版本的gcc和g++,所以如果建议先降级到4版本,具体方法请Google

安装显卡驱动

敲黑板!!!!
一定不要用Cuda自带的显卡驱动!!!兼容性不太好,很容易把驱动搞坏,导致循环登陆问题。
出了这个问题请参看Ubuntu 16.04安装NVIDIA驱动后循环登录问题
主要就是要重新安装驱动,主要是这行代码起作用:

sudo apt-get install nvidia-367

然后选择最上面一个NVIDIA驱动,进行安装

请坐和放宽,关闭你的图形界面

大家看到这里是不是觉得我疯了,不,不是我疯了,是疯了NVIDA。在安装Cuda的时候,我们要关闭X服务。当时看到请检查你的X服务是否关机的时候,我整个人是懵逼的,啥,我啥X服务,还特殊服务呢。。。我把SS都关了,甚至重启了刚开机就装都提示请检查关闭X

这尼玛X是啥 ,会不会说人话,是不是要劳资把系统都关了?在咨询群里大牛后我彻底傻了,真的是要把图形界面关了,不,准确说是要把图形界面关了。恩,对,关了图形界面,用命令行安装。。。

我类个去。。。。

好的,关就关嘛,随怕随。不过在关之前,请记住你的cuda runfile的下载路径备用。

请坐稳扶好,坐窗边的旅客请不要把头手伸出窗外,我们要开始时空穿梭,请在终端中打下如下命令:

sudo service lightdm stop

忽然间,你会感到一阵清风吹过你的面庞,那是因为我们在时空穿梭。。。2333, 欢迎回到上个世纪,在很久很久已经,我们只有命令行。。。。

不要以为上面那张图没加载出来,就是那样的。为什么,因为我们关了图形界面。。2333而且,我们还没调出命令行。。。。

好了,按住

CTRL + ALT + F1

我们调出了命令行,开始装Cuda

输入账户密码登陆

cd 到你要下载的目录,执行

sudo sh cuda_8.0.44_linux.run

然后你会看到

Do you accept the prevIoUsly read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
(y)es/(n)o/(q)uit: y
如果这里不安装的话后面可能会出现找不到Cuda驱动的问题
但是很多文章认为安装的话会把之前安装的驱动废掉
两篇文章供参考
Ubuntu16.04下CUDA8.0+Caffe安装配置过程
ubuntu14.04+cuda8.0(GTX1080)+caffe安装

如果你刚才选了y,那么这里还会问你要不要装X configuration,这里就绝对不能选y了
因为前面其实和Cuda driver有关,装了一样能运行。但是如果你装了X configuration,也就是NVIDIA驱动,那就彻底废了。
因为这会导致驱动损坏,发生循环登录问题。

如果不幸发生了循环登录问题,请参考这篇文章,重装驱动解决:
Ubuntu 16.04安装NVIDIA驱动后循环登录问题

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:
回车

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
[ default is /root ]:
回车

Installing the CUDA Toolkit in /usr/local/cuda-8.0 …
Installing the CUDA Samples in /root …
copying samples to /home/derek/NVIDIA_CUDA-8.0_Samples Now…
Finished copying samples.

= Summary =

Driver: Installed
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/derek

Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64,or,add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit,run the uninstall script in /usr/local/cuda-8.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.

WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.

To install the driver using this installer,run the following command,replacing with the name of this run filesudo.run -silent -driver

安装成功,撒花~在命令行中打下如下代码,回到文明世界:

sudo service lightdm start

设置Cuda环境变量

还别高兴太早,没设环境变量待会要出事的,就像下面TensorFlow运行失败

sudo vi ~/.bash_profile

打开配置文件,最后们加入以下几行

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda-8.0

wq 保存离开。如果你没装 /usr/local/cuda,请自行了断:修改路径

环境变量的设置不是太熟悉,大家可以自行google。或者把上面两行直接粘贴到终端中,会理解生效,不过仅在该终端中有效

安装过程可以参考这篇文章
深度学习主机环境配置: Ubuntu16.04+Nvidia GTX 1080+CUDA8.0

Cudnn 安装

下载Cudnn

到这里下载。
当然你先得注册一个NVIDA账号,添一堆问卷。
选择 Download cuDNN v5.1 (Jan 20,2017),for CUDA 8.0下载
cuDNN v5.1 Runtime Library for Ubuntu16.04 Power8 (Deb)
安装
或者下载tar,解压后会得到一个Cuda文件夹,复制到Cuda-8.0文件夹中

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

检查是否复制成功,否则会在import tf时出错

安装TensorFlow

这里不好意思我就假设你pip装好,网络环境正常,网路不好的到github上找别人下好的下载吧。。。执行下面命令

pip install tensorflow-gpu

如果安装缓慢老中断可以先把numpy等相关的包装好

测试TF

照着官网打呗,这还有啥好说的呢~恭喜安装成功!!!!

$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello,TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello,TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>

Ubuntu16.04 下安装GPU版TensorFlow包括Cuda和Cudnn的更多相关文章

  1. android – 符合Nvidia Tegra profiler 2.0的移动设备

    解决方法通常任何基于Tegra4和K1的设备都可以工作,但我会推荐Nvidia的Shield/Note用于你的工作,不仅是他们退出便宜,而且他们的机器人留下了很多香草使它更容易使用.还有(可用的)更新策略的优点.

  2. 如何在Android平台上使用Tensorflow?

    谷歌为开发者提供了TENSORFLOW开源软件.有什么方法可以在Android上使用它吗?

  3. 直接在Android NDK端使用tensorflow(不使用JAVA api)

    如何在Android上使用Capis构建和链接tensorflow库.你能指导我吗?

  4. 是否有可能在Android上训练tensorflow?

    似乎没有CAPI来训练张量流图并保存到pb.so,在Android平台上有什么办法吗?我可以在Android设备上使用pythonAPI构建tensorflow工作区吗?

  5. python深度学习tensorflow1.0参数和特征提取

    这篇文章主要为大家介绍了python深度学习tensorflow1.0参数和特征提取,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  6. python人工智能tensorflow函数tf.get_variable使用方法

    这篇文章主要为大家介绍了python人工智能tensorflow函数tf.get_variable使用方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  7. python人工智能tensorflow优化器Optimizer算法汇总

    这篇文章主要为大家介绍了python人工智能tensorflowtf优化器Optimizer算法汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  8. Java有趣好玩的图形界面开发八个案例实现

    今天使用GUI技术写了几个练习的Demo,希望对大家学习图形用户界面有所帮助,感兴趣的同学来看看吧,动手敲一遍理解更通透

  9. python神经网络tensorflow利用训练好的模型进行预测

    这篇文章主要为大家介绍了python神经网络tensorflow利用训练好的模型进行预测,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. python人工智能tensorflow函数np.random模块使用

    这篇文章主要为大家介绍了python人工智能tensorflow函数np.random模块使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部