这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产。本人现在非常熟练linux(Ubuntu/centOS/openSUSE)、windows上该环境的搭建 :)

前面三篇博客代码实现均基于该环境(开发或者测试过):

[AI开发]Python+Tensorflow打造自己的计算机视觉API服务

[AI开发]基于深度学习的视频多目标跟踪实现

[AI开发]视频多目标跟踪高级版

运行环境

1) centOS 7.5 ,不要安装GUI桌面;

2) i7八核,GTX 1080 GPU,16G内存。

程序包

1) Python-3.6.5.tgz   (Python安装包)

2) screen-4.6.0.tar.gz  (screen安装包,忽略系统自带的)

3) tensorflow_gpu-1.9.0-cp36-cp36m-manylinux1_x86_64.whl  (tensorflow安装包)

4) cuda_9.0.176_384.81_linux.run      (cuda安装包)

5) cudnn-9.0-linux-x64-v7.1.tgz         (cudnn解压包)

6) NVIDIA-Linux-x86_64-384.130.run     (nvidia显卡驱动)

常用链接:

https://developer.nvidia.com/cuda-90-download-archive (cuda)
https://developer.nvidia.com/rdp/cudnn-archive (cudnn)
https://www.geforce.cn/drivers/results/132524 (显卡驱动)

安装步骤

**安装过程中,设备需要连外网,有一些组件需要在线安装**

>第一步 安装基础库

在命令行终端执行下面三个命令:

sudo yum install openssl-devel -y

sudo yum install bzip2-devel

sudo yum install zlib-devel -y

保证上面三个库安装成功,如果提示已经安装,则忽略。

>第二步 安装python3.6.5

在程序包目录中执行:tar -zvxf Python-3.6.5.tgz,解压Python安装文件;

cd Python-3.6.5进入解压目录;

执行mkdir /usr/python3.6 创建目录;

运行 ./configure --prefix=/usr/python3.6 --enable-shared ,等待;

执行 make 命令,等待;

执行 make install 命令,等待;

执行 ln -s /usr/python3.6/bin/python3 /usr/bin/python3 创建软连接(如果提示已存在,先删除);

执行 python3 --version,查看输出,如果输出python对应的版本号为 3.6.5,则安装成功。

注意:

如果碰到错误信息类似这样 :error while loading shared libraries: xxxxxxxx: cannot open shared object file: No such file or directory(xxxx为文件名)

那么,进入安装文件夹的lib目录下,找到XXXXXXXX,将其拷贝到/usr/local/lib

cp XXXXXX /usr/local/lib

vi /etc/ld.so.conf

在文件末尾新增加一行 /usr/local/lib

然后执行 ldconfig 命令。

再执行 python3 --version 检查输出的版本号是否为 3.6.5

>第三步 配置pip3

执行ln -s /usr/python3.6/bin/pip3 /usr/bin/pip3 创建软连接(如果提示已存在,先删除);

执行 pip3 --version 查看pip3的版本号,如果正确输出版本号,则表示pip3安装成功;

cd ~,进入到用户根目录,执行mkdir .pip创建.pip目录,cd到该目录;

执行 vi pip.conf 创建文件;

在文件中输入:

[global]

trusted-host=mirrors.aliyun.com

index-url=http://mirrors.aliyun.com/pypi/simple/

保存退出。

>第四步 安装tensorflow/keras等相关依赖组件

在程序包目录下

执行 pip3 install tensorflow_gpu-1.9.0-cp36-cp36m-manylinux1_x86_64.whl,安装tensorflow等相关依赖组件(一些组件需要联网);

执行 pip3 install keras ,安装keras等相关依赖组件(需要联网);

执行 pip3 install Pillow,安装Pillow(需要联网);

执行 pip3 install matplotlib,安装matplotlib(需要联网);

>第五步 安装cuda

在程序包目录下

===============================安装cuda前必读============================

注意:

1)安装开始,会显示一大段license,在显示license到1%的时候,按q结束,不然会一直让你读完;

2)除了在“是否安装graphics driver”的步骤选择No之外,其余都选Yes;

3)cuda以及sample的安装路径都保持默认不变(直接回车即可)。

=====================================================================

执行sh ./cuda_9.0.176_384.81_linux.run ,按照提示完成cuda的安装;

执行 vi ~/.bash_profile,打开文件;

在文件末尾增加:

export PATH=/usr/local/cuda-9.0/bin:$PATH  
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

保存退出。

执行 source ~/.bash_profile,使文件生效;

执行 nvcc --version 查看cuda是否安装成功,如果正常输出信息,则表示安装成功。

>第六步 安装cudnn

在程序包目录下

执行 tar -zvxf cudnn-9.0-linux-x64-v7.1.tgz ,解压文件;

cd cuda 进入到解压目录;

执行

cp lib64/lib* /usr/local/cuda/lib64/

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

拷贝文件;

执行

cd /usr/local/cuda/lib64/

chmod +r libcudnn.so.7.1.4

ln -sf libcudnn.so.7.1.4 libcudnn.so.7

ln -sf libcudnn.so.7 libcudnn.so

ldconfig

**cudnn是cuda在深度学习中的一个扩展,只需要拷贝.h和lib到cuda的安装目录即可**

>第七步 安装Nvidia显卡驱动

在程序包目录下

执行 sh ./NVIDIA-Linux-x86_64-384.130.run,等待安装结束;

执行 nvidia-smi 查看显卡信息,如果能正常显示GPU驱动和其他信息,表明显卡驱动安装成功。

>第八步 验证Python算法环境

在python脚本目录下

执行 python3 test.py,如果不报错,并且有模型数据显示出来,说明算法环境部署成功。

[AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建的更多相关文章

  1. 基于 Keras 用深度学习预测时间序列

    目录 基于 Keras 用深度学习预测时间序列 问题描述 多层感知机回归 多层感知机回归结合"窗口法" 改进方向 扩展阅读 本文主要参考了 Jason Brownlee 的博文 T ...

  2. Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe

    目录 准备工作 设置conda国内镜像源 conda 深度学习环境 tensorflow.mxnet.pytorch安装 tensorflow mxnet pytorch Caffe安装 配置文件修改 ...

  3. Ubuntu深度学习环境搭建 tensorflow+pytorch

    目前电脑配置:Ubuntu 16.04 + GTX1080显卡 配置深度学习环境,利用清华源安装一个miniconda环境是非常好的选择.尤其是今天发现conda install -c menpo o ...

  4. windows10配置tensorflow深度学习环境(GPU版)各种坑

    我们配置一个tensorflow-gpu版的深度学习环境 windows10 64 python3.5 vs2017(需要C++部分) cuda9.0 cudnn7.1 GeForce GTX1060 ...

  5. 深度学习环境搭建(CUDA9.0 + cudnn-9.0-linux-x64-v7 + tensorflow_gpu-1.8.0 + keras)

    关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置: 主板:X299型号或Z270型号 CPU: i7-6950X或i7-7700K ...

  6. (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决

    区别于其他入门教程的"手把手式",本文更强调"因"而非"果".我之所以加上"通用"字样,是因为在你了解了这个开发环境之后 ...

  7. 深度学习环境搭建(Ubuntu16.04+GTX1080Ti+CUDA8.0+Cudnn6.0+TensorFlow+Caffe2(Pytorch))

    OS System:Ubuntu16.04 GPU Device:GTX1080Ti Softwares:CUDA8.0.Cudnn6.0.TensorFlow(1.4.0).Caffe2(1.0.0 ...

  8. linux 服务器 keras 深度学习环境搭建

    感慨: 程序跑不起来,都是环境问题. 1. 安装Anaconda https://blog.csdn.net/gdkyxy2013/article/details/79463859 2. 在 Anac ...

  9. 基于scikitlearn的深度学习环境安装(三)(完整版)

    OS Linux  Ubuntu14.04 安装 pip (python2.7.9或以上自带pip) sudo apt-get install python-pip pip是python环境下安装包的 ...

随机推荐

  1. 创建的UIWindow为何不显示

    一.window创建方法不同,导致window的显示不同 1.window创建,但是不会显示 UIWindow *myWindow3 = [[UIWindow alloc] initWithFrame ...

  2. (一)linux定时任务的设置 crontab 基础实践

    为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...

  3. Centos7 环境下 tty 终端 中文乱码 问题

    最近有同学问我 Centos 方面的一些操作,  由于我已经好多年不用Centos了所以比较生疏,这些年来一直都是用Ubuntu的,不得不说Ubuntu是我用过的这么多Linux系统中操作最舒服的了, ...

  4. Fedora Linux中解决“xxx不在sudoers文件中”

    问题描述: 在Fedora中执行一些操作时需要使用root权限,当我使用命令: sudo 想在普通用户中临时获得root权限时,却被提示: "xxx 不在 sudoers 文件中.此事将被报 ...

  5. LeetCode Javascript实现 283. Move Zeroes 349. Intersection of Two Arrays 237. Delete Node in a Linked List

    283. Move Zeroes var moveZeroes = function(nums) { var num1=0,num2=1; while(num1!=num2){ nums.forEac ...

  6. 一个靠谱的phpredisadmin文件

    http://download.csdn.net/detail/newjueqi/7227487

  7. 查看centos系统位数和强制关闭yum

    一个小命令查看centos 是什么多少位系统 getconf LONG_BIT 方法二: [root@linuxzgf ~]#uname -m 如果有x86_64就是64位的,没有就是32位的后面是X ...

  8. Nodejs.Electron(Nodejs的图形界面开发)安装和试用

    # 克隆示例项目的仓库 git clone https://github.com/electron/electron-quick-start # 进入这个仓库 cd electron-quick-st ...

  9. User Profile Service服务未能登录,无法登录

    不知你是否遇到这样的问题,某一天你打开PC,开机正常,可当你输入正确的密码回车,却发现Vista或Win7拒绝让你登录,提示"User Profile Service 服务未能登录.无法加载 ...

  10. registration_db.go

    , atomic.LoadInt64(&p.peerInfo.lastUpdate))         if now.Sub(cur) > inactivityTimeout || p. ...