高级大数据人才培养丛书之一,大数据挖掘技术与应用 深度学习 BIG DATA 刘 鹏 张 燕 总主编 刘鹏 主编 赵海峰 副主编
第六章 深度学习开源框架 6.1 Caffe 6.2 TensorFlow 6.3 其它开源框架 习题 全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用 第六章 深度学习开源框架 6.1 Caffe 6.2 TensorFlow 6.3 其它开源框架 习题 2 of 40
6.1Caffe 6.1.1Caffe框架 第六章 深度学习开源框架 Caffe是一个清晰、高效、开源的深度学习框架,很适合初学者。它由加州大学伯克利的PHD贾扬清开发是应用最广泛的深度学习框架之一。 贾扬清 3 of 40
易上手 多语言 速度快 社区好 6.1Caffe 6.1.1Caffe框架 第六章 深度学习开源框架 Caffe是一个清晰、高效、开源的深度学习框架,很适合初学者。它由加州大学伯克利的PHD贾扬清开发是应用最广泛的深度学习框架之一。 易上手 多语言 速度快 社区好 代码组织好。可读性强,例子多。 支持C++、Python和Matlab。 采用MKL、OpenBLAS等计算库,支持GPU加速。 国内外都有较活跃的社区、且有很多衍生项目。 4 of 40
6.1Caffe 6.1.2安装Caffe 1、操作系统为centenos7 2、安装Nvidia GPU驱动 第六章 深度学习开源框架 (1)添加ELRepo 源 # rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 5 of 40
6.1Caffe 6.1.2安装Caffe 第六章 深度学习开源框架 (2)安装显卡驱动 # yum install nvidia-x11-drv nvidia-x11-drv-32bit 6 of 40
6.1Caffe 6.1.2安装Caffe 第六章 深度学习开源框架 (3)重启 # reboot (4)查看GPU信息 # nvidia-smi 7 of 40
6.1Caffe 6.1.2安装Caffe 第六章 深度学习开源框架 (5)安装CUDA 7.5 Toolkit:CUDA 7.5 Toolkit为Nvidia工具包。该工具包包括GPU加速库,调试和优化工具,C / C ++编译器和运行库等。 # cd /root/cDeep/Nvidia/ # sh cuda_7.5.18_linux.run 8 of 40
6.1Caffe 6.1.2安装Caffe 第六章 深度学习开源框架 (6)安装cuDNN v4:针对深度学习框架的一套GPU加速方案 # cd /root/cDeep/Nvidia/ # tar xvzf cudnn-7.0-linux-x64-v4.0-prod.tgz # cp cuda/include/cudnn.h /usr/local/cuda-7.5/include # cp cuda/lib64/libcudnn* /usr/local/cuda-7.5/lib64 # chmod a+r /usr/local/cuda-7.5/lib64/libcudnn* (7)配置环境变量 # vim /etc/profile 在文件最后添加 export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64" export CUDA_HOME=/usr/local/cuda-7.5 更新环境变量 # source /etc/profile 9 of 40
6.1Caffe 6.1.2安装Caffe 3、Caffe 安装 (1)安装依赖库 第六章 深度学习开源框架 # source /etc/profile # yum install protobuf-devel snappy-devel opencv-devel boost-devel # cd /root/cDeep/Caffe/ # unzip leveldb-master.zip # cd leveldb-master # ./build_detect_platform build_config.mk ./ # make # cp –r include/leveldb /usr/local/include # cp /root/cDeep/Caffe/leveldb-master/out-static /libleveldb.a /usr/local/lib 10 of 40
6.1Caffe 6.1.2安装Caffe (5)安装GFLAGS (2)安装GCC和GCC++ 第六章 深度学习开源框架 # cd /root/cDeep/Caffe/ # unzip gflags-master.zip # cd gflags-master # mkdir build&& cd build # export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 # make&&make install (6)安装LMDB # unzip lmdb.zip # cd lmdb-mdb.master/libraries/liblmdb (2)安装GCC和GCC++ # yum -y install gcc gcc-c++ (3)安装GIT和CMAKE # yum -y install git # yum -y install cmake (4)安装GLOG # cd /root/cDeep/Caffe/ # tar zxvf glog-0.3.3.tar.gz # cd glog-0.3.3 # ./configure # make # make install 11 of 40
6.1Caffe 6.1.2安装Caffe (7)安装HDF5 (9)安装OpenCV 第六章 深度学习开源框架 # cd /root/cDeep/Caffe/ # tar –xf hdf5-1.8.17.tar # cd hdf5-1.8.17 #./configure --prefix=/usr/local/hdf5 # make&&make install (8)安装OpenBlas # unzip OpenBLAS.zip # cd xianyi-OpenBLAS-3f6398a # make # make PREFIX=/usr/local/openblas install (9)安装OpenCV # cd /root/cDeep/Caffe/ # unzip opencv-2.4.13.zip # cd opencv-2.4.13 # mkdir release&&cd release # cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON .. # make # make install 12 of 40
6.1Caffe 6.1.2安装Caffe (10)修改配置文件 第六章 深度学习开源框架 # cd /root/cDeep/Caffe/ # unzip caffe-master.zip&& cd caffe-master # cp Makefile.config.example Makefile.config # vim makefile.config 修改makefile.config文件里的信息 1)USE_CUDNN := 1 使用cuda进行加速 2)OPENCV_VERSION := 2 对应OpenCV版本是2.4.1 ~ 2.4.13 3)CUDA_DIR := /usr/local/cuda-7.5 cuda头文件及库目录 4)BLAS := open 使用openblas BLAS_INCLUDE := /usr/local/openblas/include 设置头文件路径 BLAS_LIB := /usr/local/openblas/lib 设置动态库路径 5)INCLUDE_DIRS := /usr/local/include /usr/local/hdf5/include /usr/include/python2.7 6)设置其它依赖库头文件路径 LIBRARY_DIRS := /usr/local/lib /usr/lib /usr/local/hdf5/lib 设置其它依赖库动态库路径 13 of 40
6.1Caffe 6.1.2安装Caffe (11)Caffe编译 # cd /root/cDeep/Caffe/ 第六章 深度学习开源框架 6.1.2安装Caffe (11)Caffe编译 # cd /root/cDeep/Caffe/ # cd caffe-master # make all –j4 # make test # make runtest 14 of 40
6.1Caffe 6.1.3 案例:基于Caffe的目标识别 1.获取数据集 # cd ./data/cifar10 第六章 深度学习开源框架 6.1.3 案例:基于Caffe的目标识别 1.获取数据集 # cd ./data/cifar10 # ./get_cifar10.sh cifar10数据集文件示意图 Cifar10图像示意图 15 of 40
6.1Caffe 6.1.3 案例:基于Caffe的目标识别 2.成训练及测试数据,将样本转为LMDB格式 第六章 深度学习开源框架 6.1.3 案例:基于Caffe的目标识别 2.成训练及测试数据,将样本转为LMDB格式 # cd ./data/cifar10 # ./get_cifar10.sh 3.训练及测试 # cd ./examples/cifar10&& ./train_full.sh 16 of 40
第六章 深度学习开源框架 6.1 Caffe 6.2 TensorFlow 6.3 其它开源框架 习题 全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用 第六章 深度学习开源框架 6.1 Caffe 6.2 TensorFlow 6.3 其它开源框架 习题 17 of 40
6.2TensorFlow 6.2.1TensorFlow框架 第六章 深度学习开源框架 6.2.1TensorFlow框架 TensorFlow是Google开源的一个深度学习框架。实现了本地和分布式两种接口机制。本地实现机制的client端、master端和worker均运行在同一个机器中;分布式实现机制它与本地实现的代码基本相同,但是client端、master端和worker进程一般运行在不同的机器中,所包含的不同任务由一个集群调度系统进行管理。 具备如下优点:1.多样化部署;2.可被基于梯度的机器学习算法借鉴;3.灵活的Python接口;4.可映射到不同硬件平台;5.支持分布式训练。 18 of 40
6.2TensorFlow 6.2.2安装TensorFlow 1、安装pip # cd /root/cDeep/Tensorflow/ 第六章 深度学习开源框架 6.2.2安装TensorFlow 1、安装pip # cd /root/cDeep/Tensorflow/ # python get-pip.py pip安装示意图 19 of 40
6.2TensorFlow 6.2.2安装TensorFlow 2.安装TensorFlow 第六章 深度学习开源框架 6.2.2安装TensorFlow 2.安装TensorFlow # cd /root/cDeep/Tensorflow/ # pip install --upgrade tensorflow-0.8.0-cp27-none-linux_x86_64.gpu.whl 左图为tensorflow安装示意图 20 of 40
6.2TensorFlow 6.2.2安装TensorFlow 3.安装测试 # python ... 第六章 深度学习开源框架 6.2.2安装TensorFlow 3.安装测试 # python ... >>> import tensorflow as tf >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() >>> print(sess.run(hello)) Hello, TensorFlow! >>> sess.close() >>> exit() tensorflow测试示意图 21 of 40
6.2TensorFlow 6.2.3案例:基于TensorFlow的目标识别 1. 下载Cifar10数据集 第六章 深度学习开源框架 6.2.3案例:基于TensorFlow的目标识别 1. 下载Cifar10数据集 # wget http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz # tar -xzf cifar-10-python.tar.gz Cifar10数据集示意图 22 of 40
6.2TensorFlow 6.2.3案例:基于TensorFlow的目标识别 2. 运行训练程序 第六章 深度学习开源框架 6.2.3案例:基于TensorFlow的目标识别 2. 运行训练程序 # cd /tensorflow/models/image/cifar10/ # python cifar10_train.py 3. 运行测试程序 # python cifar10_eval.py 4. 如图所示,资源消耗: CPU:~41% GPU:~42% 耗时:~50min 训练时资源消耗图 23 of 40
6.2TensorFlow 6.2.3案例:基于TensorFlow的目标识别 5. 训练完成示意 6. 测试示意 准确率:~84.4% 第六章 深度学习开源框架 6.2.3案例:基于TensorFlow的目标识别 5. 训练完成示意 6. 测试示意 准确率:~84.4% 24 of 40
第六章 深度学习开源框架 6.1 Caffe 6.2 TensorFlow 6.3 其它开源框架 习题 全国高校标准教材《云计算》姊妹篇,剖析大数据核心技术和实战应用 第六章 深度学习开源框架 6.1 Caffe 6.2 TensorFlow 6.3 其它开源框架 习题 25 of 40
6.3其它开源框架 1.CNTK 2.MXNet 3.Theano 4.Torch 5.Deeplearning4j 第六章 深度学习开源框架 1.CNTK 2.MXNet 3.Theano 4.Torch 5.Deeplearning4j 26 of 40
6.3其它开源框架 CNTK的5个 主要特点 6.3.1CNTK A B C D E E 训练和测试多种神经网络的通用解决方案。 第六章 深度学习开源框架 6.3.1CNTK 训练和测试多种神经网络的通用解决方案。 A B 用户使用一个简单的文本配置文件指定一个网络。 CNTK的5个 主要特点 C 尽可能无缝地把很多计算在一个GPU上进行。 D 自动计算所需要的导数,网络是由许多简单的元素组成。 E 通过添加少量的C ++代码来实现必需块的扩展。 E 对windows平台的支持更好。 27 of 40
6.3其它开源框架 6.3.2MXNet MXNet的7个主要特点: (1)其设计说明可以被重新应用到其他深度学习项目中。 第六章 深度学习开源框架 6.3.2MXNet MXNet的7个主要特点: (1)其设计说明可以被重新应用到其他深度学习项目中。 (2)任意计算图的灵活配置。 (3)整合了各种编程方法的优势,最大限度地提高灵活性和效率。 (4)轻量、高效的内存,以及支持便携式的智能设备,如手机等。 (5)多GPU扩展和分布式的自动并行化设置。 (6)支持Python、R、C++和Julia。 (7)对云计算友好,直接兼容S3、HDFS和Azure。 28 of 40
6.3其它开源框架 Theano的6个 主要特点 6.3.3Theano 01 与NumPy紧密相关 02 透明地使用GPU 03 第六章 深度学习开源框架 6.3.3Theano Theano的6个 主要特点 01 与NumPy紧密相关 02 透明地使用GPU 03 高效符号分化 04 速度和稳定性的优化 05 动态生成C代码 06 广泛的单元测试和自我验证 29 of 40
6.3其它开源框架 Torch的4个主要特点 6.3.4Torch 采用Lua语言 通过LuaJIT的C接口。 第六章 深度学习开源框架 6.3.4Torch 采用Lua语言 通过LuaJIT的C接口。 Torch的4个主要特点 很多实现索引、切片、移调的程序。 可嵌入、移植到iOS、Android和FPGA的后台。 快速、高效的GPU支持。 30 of 40
集合了Cuda内核,支持CPU和分布式GPU。 6.3其它开源框架 第六章 深度学习开源框架 6.3.5Deeplearning4j Deeplearning4j的4个主要特点: 依赖于广泛使用的编程语言Java。 Canova向量化各种文件形式和数据类型。 集合了Cuda内核,支持CPU和分布式GPU。 可专门用于处理大型文本集合。 31 of 40
习题: 1.安装TensorFlow。 2.安装配置Caffe 环境,跑通test。 3.深度学习的开源框架有哪些。 4.分别简述CNTK、MXNet、Theano、Torch深度学习软件的主要特点。
AIRack人工智能实验平台 ——一站式的人工智能实验平台 DeepRack深度学习一体机 ——开箱即用的AI科研平台 BDRack大数据实验平台——一站式的大数据实训平台
云创公众号推荐 刘鹏看未来 云计算头条 中国大数据 深度学习世界 云创大数据订阅号 云创大数据服务号 高校大数据与人工智能 微信号:lpoutlook 云计算头条 微信号:chinacloudnj 中国大数据 微信号:cstorbigdata 深度学习世界 微信号:dl-world 云创大数据订阅号 微信号:cStor_cn 云创大数据服务号 微信号:cstorfw 高校大数据与人工智能 微信号:data_AI
手机APP推荐 我的PM2.5 随时随地准确 查看身边的 PM2.5值 同声译 支持26种语言 互译的实时翻 译软件 我的南京 云创大数据为路 况大数据应用提 供技术支持 科技头条 汇聚前沿资讯 的科技情报站
网站推荐 万物云 智能硬件大数据免费托管平台 环境云 环境大数据开放共享平台
感谢聆听