TensorFlow 白皮书的翻译(未翻译完请绕行)
TensorFlow:Large-Scale Machine Learning on Heterogeneous Distributed Systems 大型机器学习异构分布式系统
最近,正在初学TensorFlow,看了许多网上教学视频,翻译白皮书,记录自己的学习过程。能力有限,读者多包涵。tensorflow白皮书下载
tensorflow的官网 www.tensorflow.org ,但被墙了,解决办法为,在/etc/hosts中添加
#TensorFlow
64.233.188.121 www.tensorflow.org
运行命令使之生效
$sudo /etc/init.d/networking restart [ubuntu]
- 摘要
Tensorflow是一种表达机器学习算法的接口和执行这些算法的一种实现框架。用它表示的计算能在广泛的分布式系统上执行,无论是移动设备(手机或者电脑),还是集上百机器和上千上万的计算部件(gpu卡)的分布式系统,最终的计算结果几乎没什么大的变化。Tensorflow是比较灵活的,能表达宽广的算法,包括深度神经网络模型中的训练和推理算法;还能用于研究和部署机器学习系统,横跨了十几个计算机科学和其他领域,其中包括语言识别、计算机视觉、机器人、信息检索、自然语言过程、地理信息获取、计算农药发现等。这篇文章描述TensorFlow接口和我们在Google上搭建好的接口实现。TensorFlow API 和参照实现按照Apache 2证书,于2015.11已经作为开源项目发布,可以在www.tensorflow.org获取。
- 简介
Google brain项目创立于2011年,目的是为了探索超大规模深度神经网络在科研和产品中的使用。早期,创建了distbelief -- 第一代大规模分布式训练和推理系统。它的用途可观, 在Google内部,使用distbelief研究了很多领域。其中包括非监视学习、语言表示、图像分类和对象检测模型、语音识别、视频识别、序列预测、Go 的移动选择、行人检测、强化学习等。此外,和Google brain 团队的紧密合作,超过50个 Google内部团队和其他alpha公司在许多产品中,使用distbelief中的深度神经网络框架。其中,包括Google搜索引擎、广告产品、语音识别、Google photos、Google地图、Google翻译、YouTube等。
基于对distbelief的经验和对分布式特点、深度神经网络训练和使用要求的理解,我们开发了TensorFlow -- 第二代超大规模机器学习模型的实现和部署。TensorFlow使用类似数据流模型并将这些计算映射到不同的硬件平台上来进行计算。运行的平台可以是类似Android和iOS这样包含一个或多个gpu的单机器设备或者是带成百上千gpu的集群。有一个横跨宽泛平台的单一的系统一定意义上简化了现实中机器学习系统的使用,相比用分离式系统来进行大规模的训练和小规模部署带来的较大维护负担和较差的抽象效果。
TensorFlow由一些带状态的数据流图表示。我们已经聚焦于使系统具有足够的灵活性来快速实验新模型的研究和具有高的性能和健壮性来进行机器学习产品训练和部署。它允许使用者通过复制和并行执行一个核心模型的数据流图来很容易地表示并行性,这些计算设备间协同更新整套共享的参数和其他状态。描述计算微妙变化允许各式各样的方法并行实现,代价尽量的低。
---------2017/4/18
一些TensorFlow应用就更新参数的一致性而言是相对灵活的,并且在更大的规模部署中我们能轻松地利用这些同步要求。相比Distbelief而言,TensorFlow的编程模型是更加灵活的、性能更好、支持更宽广的异构平台上训练和使用更多的模型。数十个distbelief的用户已经转向TensorFlow。这些用户使用它来做研究和生产,在移动电话上执行计算机视角的推理,到大规模深度神经网络中使用成百上千的机器来对带上百亿参数的上百亿样本进行训练。尽管,这些应用集中在机器学习尤其是深度神经网络,但我们期待TensorFlow的抽象能在其他领域得到使用,包括其他种类的机器学习算法和其他类型的数值计算。我们已经将TensorFlow API和一种推理实现遵循Apache2.0协议已经于2015年开源,你可以在www.tensorflow.org获取。
本文下面的部分更加细致地描述了 TensorFlow。第二节介绍编程模型和 TensorFlow 接口的基本概念,第三节介绍单机和分布式的实现 。第四节给出了基本编程模型的扩展,第五节介绍了一些基本实现的优化方法。第六节给出了一些使用 TensorFlow 的实验结果,第七节描述了一些使用 TensorFlow 编程的 idiom,第九节则是一些在 TensorFlow 核心外围的工具。第十节和第十一节分别讨论了未来和相关的工作,最后一节给出了总结性想法。
- 编程模型和基本概念
TensorFlow的计算由一个包含多个节点的有向图来描述。图代表一个数据流的计算,允许一些类型的节点来维持和更新持久的状态,图中还有一定程度上类似Naiad【流体模型】的分支或循环控制结构。用户使用一种前端支持的语言c++或者python来构建图。图1,是一个使用python构建和执行TensorFlow图的样例片段;图2是它的结构计算图。
![](/assets/blank.gif)
![](/assets/blank.gif)
OPS和kernels
![](/assets/blank.gif)
Sessions【会话】
Variables【是一种特殊的操作,并不是变量】
在大多数计算中,图会被执行多次。在单次执行后许多的tensor并不会保存。然而,Variables是一种特殊的操作,它会返回一个句柄,指向执行图后需要持久化保存的张量。这些持久化句柄可以传递给少数特殊的操作,比如赋值或者 “+=” 操作。对于tensorflow的机器学习应用,模型参数典型存储在Variables持久化的张量中,并作为模型训练执行的一部分被更新。
------------2017/4/25
- 实现
tensorflow系统中,主要的组件是client(使用session和master交互),一个或多个worker 进程(每个worker进程负责管理一个或多个计算设备,比如CPU、GPU等),master(管理图节点的执行)。tensorflow有本地和分布式两种实现。在本地实现中,client、master、worker运行在同一台机器(带有多个计算设备)的同一进程中;分布式实现共享大部分本地实现的代码,拓展了对client、master、worker运行在不同机器的不同进程的支持。在分布式实现中,这些任务是互不影响的,由集群调度系统管理。图3,图解了这两种模式。这章剩下的内容讨论了二者的共同点,第3.3章讨论了分布式实现的一些缺点。
![](/assets/blank.gif)
3.1单设备执行
3.2 多设备执行
TensorFlow 白皮书的翻译(未翻译完请绕行)相关推荐
- 深度解析】Google第二代深度学习引擎TensorFlow开源(CMU邢波独家点评、白皮书全文、视频翻译)
新智元原创1 作者:王嘉俊 王婉婷 TensorFlow 是 Google 第二代深度学习系统,今天宣布完全开源.TensorFlow 是一种编写机器学习算法的界面,也可以编译执行机器学习算法的代码. ...
- 考研英语 各种阅读/翻译/新题型/完形填空技巧
本文内容为考研英语 各种阅读/翻译/新题型/完形填空技巧,源文件已经上传到我的资源中,有需要的可以去看看, 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以 ...
- abortonerror_android-错误:“ app_name”未翻译
android-错误:" app_name"未翻译 我是Android编码和这个论坛的新手. 当我尝试运行项目进行测试时,出现以下错误:- " app_name" ...
- Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译
Android官方文档training中英文翻译目录大全:29篇已翻译,45篇未翻译 1. Getting Started Building Your First App: 原文: https://d ...
- 如何在手机上进行英文翻译中文在线翻译
当你与外国人进行中英文交流时,你可以用翻译软件进行中英文翻译,可是当老外说英文时应该如何进行英文翻译中文在线翻译呢?今天小编就来给大家介绍一个方法,帮你快速进行中英文在线互译. 1:首先我们在手机上下 ...
- python爬虫之基于JS加密破解--有道翻译/百度翻译
有道翻译破解案例(post) 目标 破解有道翻译接口,抓取翻译结果 # 结果展示 请输入要翻译的词语: elephant 翻译结果: 大象 ************************** 请输入 ...
- Office内嵌12国语言翻译功能----翻译好助手(转)
Office内嵌12国语言翻译功能----翻译好助手(转)[@more@] 这是Office XP/2003之后才有的超好用功能,但可能很多人都不知道,所以,每次遇到不会念或看不懂的英文.日文,往往束 ...
- 绵阳python培训_《绵》原文及翻译海绵翻译
<绵>原文及翻译海绵翻译 查字典语文网小编给各位考 生筛选整理了 : 诗经中<绵>原文,<绵>原文翻译,诗经的来源, 希望对大家有所帮助,更多的资讯请持续关注查字典 ...
- 英汉互译在线翻译-英文翻译中文的翻译
您是否曾经遇到需要翻译英语文件,但被繁琐的翻译过程所拖慢了工作进度?或者遭遇了机器翻译的低准确率和翻译错误困扰?如果是这样,那么我们的英语翻译中文转换器将是您在这方面的最佳选择! 我们的英语翻译中文转 ...
最新文章
- 组原,汇编语言关于代码段的定义
- tl r402路由器设置_怎么进入路由器设置界面
- Xamarin开发安装Visual Studio 2015 update2报错的解决办法
- android 自定义event,Android运用onTouchEvent自定义滑动布局
- Korn Shell: typeset
- SOT-143封装 ESD二极管
- sqlite-常用语句
- 从底层重学 Java 之两大浮点类型 GitChat链接
- 第一个Netty应用
- videocapture 保存图片_RoboMaster视觉教程OpenCV(二)读取视频图像与转换
- Exadata Griddisk Can't be auto added
- QEMU学习笔记——QOM(Qemu Object Model)
- Lodop简短问答客户反馈篇 及排查步骤 及注册相关
- verilog赋多位值_verilog语句两个always块对同一个变量赋值问题!【恢复】
- java判断日文_java判断字符串是否中文、日文
- 解构2019世界人工智能大会:三大变化,十年趋势,一场地球与火星的碰撞
- 移动拼图游戏(八数码问题) BFS版
- Yii:zii.widgets.CMenu使用方法
- nacos项目启动失败[NA] failed to request
- 基岩版刷铁傀儡机制和Java_我的世界:Java版1.14获得铁傀儡的四种方式,第三种千万别忘记...