大数据下基于Tensorflow框架的深度学习示例教程

近几年,信息时代的快速发展产生了海量数据,诞生了无数前沿的大数据技术与应用。在当今大数据时代的产业界,商业决策日益基于数据的分析作出。当数据膨胀到一定规模时,基于机器学习对海量复杂数据的分析更能产生较好的价值,而深度学习在大数据场景下更能揭示数据内部的逻辑关系。本文就以大数据作为场景,通过自底向上的教程详述在大数据架构体系中如何应用深度学习这一技术。大数据架构中采用的是hadoop系统以及Kerberos安全认证,深度学习采用的是分布式的Tensorflow架构,hadoop解决了大数据的存储问题,而分布式Tensorflow解决了大数据训练的问题。本教程是我们团队在开发基于深度学习的实时欺诈预警服务时,部署深度学习这一模块时总结出的经验,感兴趣的欢迎深入交流。

安装Tensorflow

我们安装Tensorflow选择的是Centos7,因为Tensorflow需要使用GNU发布的1.5版本的libc库,Centos6系统并不适用该版本库而被抛弃。对于如何联网在线安装Tensorflow,官网有比较详尽的教程。本教程着重讲一下网上资料较少的离线安装方式,系统的安装更需要在意的是各软件版本的一致性,下面教程也是解决了很多版本不一致的问题后给出的一个方案。首先我们先将整个系统搭建起来吧。

1.安装编程语言Python3.5:在官网下载软件并解压后执行如下安装命令:

./configure make make testsudo make install

2.安装基于Python的科学计算包python-numpy:在官网下载软件并解压后执行如下安装命令:

python setup.py install

3.安装Python模块管理的工具wheel:在官网下载软件后执行如下安装命令:

pip install wheel-0.30.0a0-py2.py3-none-any.whl

4.安装自动下载、构建、安装和管理 python 模块的工具setuptools:在官网下载软件并解压后执行如下安装命令:

python setup.py install

5.安装Python开发包python-devel:在官网下载软件后执行如下安装命令:

sudo rpm -i --nodeps python3-devel-3.5.2-4.fc25.x86_64.rpm

6.安装Python包安装管理工具six:在官网下载软件后执行如下安装命令:

sudo pip install six-1.10.0-py2.py3-none-any.whl

7.安装Java 开发环境JDK8:在官网下载软件并解压后执行如下移动命令:

mv java1.8 /usr/local/software/jdk

设置JDK的环境变量,编辑文件 .bashrc,加入下面内容

export JAVA_HOME=/usr/local/software/jdkexport JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=$CLASSPATH:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=$PATH:${JAVA_HOME}/bin

进行Java版本的切换,选择对应的版本

sudo update-alternatives --config javasudo update-alternatives --config javac

8.安装Bazel:Bazel是一个类似于Make的工具,是Google为其内部软件开发的特点量身定制的工具,构建Tensorflow项目。在官网下载后执行如下安装命令: