TensorFlow(6): 使用Ubuntu 16.04 server 安装,TensorFlow-gpu ,cuda 9.0, cudnn 7.1 折腾一天总结下

版权声明:本文为博主原创文章,未经博主允许不得转载。博主地址:http://blog.csdn.net/freewebsys https://blog.csdn.net/freewebsys/article/details/82291919

1,版本很重要


前一阵子在 windows 上面安装了环境。
https://blog.csdn.net/freewebsys/article/details/81276120
原理也是一样的在linux 上面也安装相应的版本。
本来打算使用 centos 安装的发现,上面的python 是 3.4的,并且使用 pip3 安装 pandas 还报错呢。
于是放弃了,使用debian进行安装,发现人家nvidia上面 没有debian的支持,但是debian上面可以
安装 nvidia的cuda 库,就是比较旧。是 8.0 的版本。我想着显卡驱动啥的还是要高级一点的比较好。
bug遇到的比较少。
最后选择的是 ubunut 16.04 server 版本,其中也用过desktop 版本实验过,也是可以的。
但是进行计算。还是把gui的系统舍弃了,用server的版本跑数据最好,节省资源。
同时 server的 最新 ubuntu-16.04.4-server-amd64.iso ,和 ubuntu-16.04.5-server-amd64.iso
这两个版本测试 安装报错,加载文件失败,没有成功安装。
找的是 ubuntu-16.04-server-amd64.iso 不带小版本号的。
下载地址:
http://old-releases.ubuntu.com/releases/16.04.4/ubuntu-16.04-server-amd64.iso
这个是可以安装的。不知道是我电脑的问题还是 这个 iso 镜像的问题。
使用这个 iso 镜像做成 usb 启动盘,系统安装成功。

2,安装系统


系统安装的时候勾选上 ssh server。
这样就可以远程登录了。然后在路由器上面绑定 ip 和 mac 地址。这样可以远程登录服务器了。
修改 /etc/apt/sources.list

deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib
deb http://mirrors.aliyun.com/debian-security stretch/updates main
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main
deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib

修改 : /etc/pip.conf

[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple

进行软件安装:

sudo apt-get update
sudo apt-get install -y gcc make axel python3 python3-pip python3-dev libmysqlclient-dev libxml2-dev 
pip3 install mysqlclient sqlalchemy requests lxml bs4
pip3 install tensorflow-gpu==1.5

特别注意这里需要安装 1.5 的版本。我试着安装最新的。
但是发现直接给退出了。

Illegal instruction (core dumped)

https://github.com/tensorflow/tensorflow/issues/17411
https://stackoverflow.com/questions/49094597/illegal-instruction-core-dumped-after-running-import-tensorflow
并不是所有的电脑都有这个问题。也不知道是显卡,还是驱动的问。
总之只能是 1.5 能跑通。没有退出。

 Looks like your CPU does not support AVX instructions.

cpu不支持 AVX,造成的。

3,安装驱动


选择操作系统的原因主要是驱动的原因,貌似 18 17 的ubuntu 也可以。
但是还是按照官方给的版本做,不愿意使用新版本,毕竟不愿意当小白鼠。而且装机装软件也不是目的。
真的的还要用这个进行我的数据统计分析呢,所以能跑就可以了,并且系统也不升级,稳定第一。
https://developer.nvidia.com/cuda-90-download-archive
cuda90 下载地址。

sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

在安装 cudnn:
https://developer.nvidia.com/rdp/cudnn-archive
下载,然后安装:

sudo dpkg -i libcudnn7_7.1.4.18-1+cuda9.0_amd64.deb

驱动都安装完成之后重启电脑。
nvidia-smi 可以查看电脑gpu信息和有没有任务在执行。

$ nvidia-smi
Sun Sep  2 20:53:22 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.81                 Driver Version: 384.81                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 750 Ti  Off  | 00000000:01:00.0 Off |                  N/A |
| 33%   36C    P0     1W /  38W |      0MiB /  4040MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
name: GeForce GTX 750 Ti major: 5 minor: 0 memoryClockRate(GHz): 1.0845
pciBusID: 0000:01:00.0
totalMemory: 3.95GiB freeMemory: 3.91GiB

4,总结


环境弄好了。看了是CPU的问题了。不支持AUX 指令。
当然也可可以下载tensorflow的源代码进行编译,也可以使用了。
慢慢的落后的CPU就淘汰了。
只要使用 1.5的版本 就可以了。还是可以照样使用的。
估计些新功能也用不上。

测试下之前的例子:
https://blog.csdn.net/freewebsys/article/details/81277857
gpu vs cpu 速度还是挺不赖的。

Shape: (15000, 15000) Device: /cpu:0
Time taken: 0:03:07.230533
Shape: (15000, 15000) Device: /gpu:0
Time taken: 0:00:07.021993

接下来就可以进行算法计算,然后将结果放到系统中进行展示了。

本文的原文连接是:
https://blog.csdn.net/freewebsys/article/details/82291919

博主地址是:http://blog.csdn.net/freewebsys

猜你喜欢

转载自blog.csdn.net/freewebsys/article/details/82291919
今日推荐