热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux系统搭建Tensorflow(GPU加速版)

1.引言纯小白在深度学习服务器上搭建了一次TensorFlow,搭了大概十天左右。深知TensorFlow版本更新之快,国内的一些教程普遍已经有些滞后。如果有条件,建议大家更多翻墙去谷
1.引言
纯小白在深度学习服务器上搭建了一次TensorFlow,搭了大概十天左右。深知TensorFlow版本更新之快,国内的一些教程普遍已经有些滞后。如果有条件,建议大家更多翻墙去谷歌看看TensorFlow的搭建教程,会对自己有很大用处。下面,我们就用TensorFlow最新的版本在深度学习服务器上搭建TensorFlow。PS.笔者所下载时均使用了翻墙软件比如蓝灯,下载速度会非常快,不翻墙的话想要下载非常的麻烦。
2.服务器现有条件(目前配置)
想要安装GPU加速版本的TensorFlow,首先服务器要有GPU。本深度服务器采用的显卡是Nvidia,运行GPU自然需要CUDA和cuDNN支撑。
操作系统:Ubuntu 14.04(目前也有16.04为最新版本)
CUDA版本:8.0

3.相关文件下载
这里我们主要用到cuDNN、Anaconda、TensorFlow的whl文件以及Bazel的文件安装包。由于服务器端网络稳定性不高,在这里,笔者都是将这些安装包下载到本地,然后通过WinSCP(一个传输软件,用法自行百度,很容易)传输到服务器端,以保证安装包的完整性。另外,笔者提醒各位将安装包的上传位置记清楚。

3.1 cuDNN下载

笔者这里所使用的cuDNN的版本为5.1,下载链接为:点击打开链接(需要注册和登录,大家耐心填写吧,毕竟cuDNN还是很关键的)
所下载版本为:cuDNN v5.1 Library for Linux

3.2 Anaconda下载

大多数研究深度学习的人深知深度学习的语言绝大多数还是要使用Python,在这里我们所使用的是Anaconda这个很好用的工具并且Python的版本是2.7
Anaconda下载地址:点击打开链接
此链接中,我们所选择的是Linux系统下的4.3.0,并且是64-bit的Python2.7版本

3.3 TensorFlow 的.whl文件下载

截止今日,笔者所见到的TensorFlow支持GPU版本、Python2.7、CUDA 8.0 以及cuDNN 5. 以上的版本为1.0,(如果有最新版本请尽量使用= =,笔者因为用旧版本不得不翻墙求救才解决-。-)
GPU版本1.0.0 TensorFlow链接如下:点击打开链接

3.4 Bazel 安装包下载

bazel是一种编译指令,需要下载安装包,具体用途后期会有所介绍。
下载路径:点击打开链接 bazel-0.4.4-installer-Linux-x86_64.sh
4. 基于Anaconda的安装

4.1 建立一个conda计算环境(Python 2.7)

安装好Anaconda: bash 指令安装Anaconda。随后在terminal中输入以下指令,创建一个conda的TensorFlow Python2.7环境

安装pip指令

安装TensorFlow
sudo pip install --upgrade TensorFlow所处的位置
激活TensorFlow环境

这个证明TensorFlow已被激活,可以通过 source deactivate 切换出TensorFlow的环境
5. 安装cuDNN
进入服务器cuDNN上传路径,解压文件并进行一系列如下的复制操作

6. 其他依赖安装

6.1 配置CUDA以及cuDNN路径

打开.bash_profile改变环境

添加如下语句:

笔者提醒大家千万别忘了,要用一下语句使该环境生效:


6.2 安装Bazel

6.2.1 安装JDK 8

对于Ubuntu 14.04 操作系统,安装JDK8进行一下一系列操作




其中 PATH_TO_INSTALL.SH为下载的bazel路径的具体目录,至此Bazel指令安装完成
7. 基于源码的TensorFlow安装(GPU加速)
输入以下指令进行TensorFlow的源码下载,默认下载到home中的TensorFlow文件夹中(因为各种原因,很少会一次下载成功,需要有足够耐心,笔者下了大约10次,网速吃紧,各种原因)

7.1 配置TensorFlow(一个大坑)

按照以往的教程,输入以下指令

按照国内各大教程,往往最重要的一步是出现 Do you wish TensorFlow with GPU support?事实上,笔者已发现,在最近更新的TensorFlow版本已经将这句话变为 Do you wish TensorFlow with CUDA support? 因为笔者是小白,对此不了解,栽了一大跟头,希望各位小白也注意哈~到这个问句时记得填Y,其他的都可以填N。但是,CUDA版本和cuDNN版本要清楚标记出,否则后面会报错,很麻烦,笔者深受其害!!其中CUDA 版本填写8.0 cuDNN版本为5.1

7.2创建PIP



8. 测试Tensorflow
笔者提醒大家,因为笔者基于Anaconda使用的TensorFlow GPU加速,所以一定记得激活TensorFlow环境:source activate TensorFlow,后续的测试程序各大教程均适用

9.结束语
TensorFlow可以说是深度学习里面的一个热门框架,很多学习深度学习的研究者都喜欢使用TensorFlow。但是令笔者感到遗憾的是,国内搜索引擎里的各大TensorFlow的教程都有些过时,还是因为TensorFlow更新之快,也希望这篇博客对你有帮助。





推荐阅读
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 通过Anaconda安装tensorflow,并安装运行spyder编译器的完整教程
    本文提供了一个完整的教程,介绍了如何通过Anaconda安装tensorflow,并安装运行spyder编译器。文章详细介绍了安装Anaconda、创建tensorflow环境、安装GPU版本tensorflow、安装和运行Spyder编译器以及安装OpenCV等步骤。该教程适用于Windows 8操作系统,并提供了相关的网址供参考。通过本教程,读者可以轻松地安装和配置tensorflow环境,以及运行spyder编译器进行开发。 ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 显卡驱动对游戏的影响及其提升效果的研究
    本文研究了显卡驱动对游戏体验的提升效果,通过比较新旧驱动加持下的RTX 2080Ti显卡在游戏体验上的差异。测试平台选择了i9-9900K处理器和索泰RTX 2080Ti玩家力量至尊显卡,以保证数据的准确性。研究结果表明,显卡驱动的更新确实能够带来近乎50%的性能提升,对于提升游戏体验具有重要意义。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • LinusTorvalds发布了 Linux4.17-rc1,关闭了合并窗口。Linux4.17的主 ... [详细]
author-avatar
青岛淘宝摄影
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有