这篇文章详细介绍在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. golang自定义路由控制实现(二)-流式注册接口以及支持RESTFUL

        先简单回顾一下在上一篇的文章中,上一篇我主要是结合了数组和Map完成路由映射,数组的大小为8,下标为0的代表Get方法,以此类推,而数组的值则是Map,键为URL,值则是我们编写对应的接口.但 ...

  2. C#通熟易懂观察者模式

    观察者模式(有时又被称为模型-视图(View)模式.源-收听者(Listener)模式或从属者模式)是软件设计模式的一种.将观察者(watcher)和被观察者(subject)完美分离. 这里讲一个场 ...

  3. Array.prototype.slice.call()方法详解

    在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理: 1.基本讲解 1.在 ...

  4. JavaScript设计模式 Item 5 --链式调用

    1.什么是链式调用 这个很容易理解,例如: $(this).setStyle('color', 'red').show(); 一般的函数调用和链式调用的区别:调用完方法后,return this返回当 ...

  5. Requests库作者另一神器Pipenv的用法

    前言 我们在运行 Python 项目的时候经常会遇到一些版本问题,例如 A 项目依赖于 Django 1.5,而 B 项目又依赖 Django 2.0,而我们的系统却只有一个 Python 解释器,我 ...

  6. search_response.go

    package; iScore < utils.MinInt(len(docs[i].Scores), len(docs[j].Scores)); iScore++ {         if d ...

  7. 【Canal源码分析】parser工作过程

    本文主要分析的部分是instance启动时,parser的一个启动和工作过程.主要关注的是AbstractEventParser的start()方法中的parseThread. 一.序列图 二.源码分 ...

  8. Angularjs interceptor

    angularJs 请求过滤 新建一个服务, $HttpProvider 中有一个 interceptore 数组,所谓的拦截器就是一个注册到该数组的工厂,该工厂在app.config() 中注入, ...

  9. MYSQL——解题查询语句答题思路,再难的查询都不怕!

    select查询语句,作为测试人员,使用此语句是家常便饭,是必须掌握的部分,由开始学习mysql到网上搜索试题做,开始做题一塌糊涂,拿到题目就晕,无从下手,现在慢慢总结了一套自己做题的方式,很开森,嘿 ...

  10. SpringBoot(二)_项目属性配置

    修改端口 在main/resources/application.properties修改端口 server.port=8088 此时启动访问localhost:8088/hello 就会看到 Hel ...