TensorFlow 是什么

子凡 问答 2019-05-20 14:20:28 阅读(...)

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。当前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索。

TensorFlow 是一个开源软件库,用于各种感知和语言理解任务的机器学习。当前被 50 个团队用于研究和生产许多 Google 商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件 DistBelief

TensorFlow

TensorFlow 最初由谷歌大脑团队开发,用于 Google 的研究和生产,于 2015 年 11 月 9 日在 Apache 2.0 开源许可证下发布。

DistBelief

从 2010 年开始,谷歌大脑创建 DistBelief 作为他们的第一代专有的机器学习系统。50 多个团队在 Google 和其他 Alphabet 公司在商业产品部署了 DistBelief 的深度学习神经网络,包括 Google 搜索、Google 语音搜索、广告、Google 相册、Google 地图、Google 街景、Google 翻译和 YouTube。Google 指派计算机科学家,如 Geoffrey Hinton 和 Jeff Dean,简化和重构 DistBelief 的代码库,使其变成一个更快、更健壮的应用级别代码库,形成了 TensorFlow。2009 年,Hinton 领导的研究小组大大减少使用 DistBelief 的神经网络的错误数量,通过 Hinton 在广义反向传播的科学突破。最值得注意的是,Hinton 的突破直接使 Google 语音识别软件中的错误减少至少 25%。

TensorFlow

TensorFlow 是谷歌大脑的第二代机器学习系统。

从 0.8.0 版本(发布于 2016 年 4 月)开始本地的支持分布式运行。

从 0.9.0 版本(发布于 2016 年 6 月)开始支持 iOS。

从 0.12.0 版本(发布于 2016 年 12 月)开始支持 Windows 系统。该移植代码主要由微软贡献。

1.0.0 版本发布于 2017 年 2 月 11 日。虽然参考实现运行在单台设备,TensorFlow 可以运行在多个 CPU 和 GPU(和可选的 CUDA 扩展和图形处理器通用计算的 SYCL 扩展)。TensorFlow 可用于 64 位 Linux、macOS 和 Windows,以及移动计算平台,包括 Android 和 iOS。

TensorFlow 的计算使用有状态的数据流图表示。TensorFlow 的名字来源于这类神经网络对多维数组执行的操作。这些多维数组被称为张量。2016 年 6 月,Jeff Dean 称在 GitHub 有 1500 个库提到了 TensorFlow,其中只有 5 个来自 Google。

张量处理单元(TPU)

2016 年 5 月,Google 宣布了张量处理单元(TPU),一个专为机器学习和 TensorFlow 全定制的专用集成电路。TPU 是一个可编程的人工智能加速器,提供高吞吐量的低精度计算(如 8 位),面向使用或运行模型而不是训练模型。Google 宣布他们已经在数据中心中运行 TPU 长达一年多,发现它们对机器学习提供一个数量级更优的每瓦特性能。

2017 年 5 月 Google 宣布第二代张量处理单元,并在 Google Compute Engine 中可用。第二代 TPU 提供最高 180 teraflops 性能,组装成 64 个 TPU 的集群时提供最高 11.5 petaflops 性能。

TensorFlow Lite

2017 年 5 月 Google 宣布从 Android Oreo 开始,提供一个专用于 Android 开发的软件栈 TensorFlow Lite。

应用

Google 于 2015 年 10 月 26 日正式发布了 RankBrain,由 TensorFlow 支持。

特性

TensorFlow 提供了一个 Python API,以及 C++、Haskell、Java、Go 和 Rust API。第三方包可用于 C#、Julia、R 和 Scala。

TensorFlow 的底层核心引擎由 C++实现,通过 gRPC 实现网络互访、分布式执行。虽然它的 Python/C++/Java API 共享了大部分执行代码,但是有关于反向传播梯度计算的部分需要在不同语言单独实现。当前只有 Python API 较为丰富的实现了反向传播部分。所以大多数人使用 Python 进行模型训练,但是可以选择使用其它语言进行线上推理。

TensorFlow 在 Windows 和 Linux 上支持使用 Bazel 或 CMake 构建,在某些平台上也支持直接使用 GNU Make 进行编译。

广泛的应用程序使用 TensorFlow 作为基础,其中它已成功实现自动化图像字幕软件,例如 DeepDream。2015 年 10 月 26 日,Google 正式启用了由 TensorFlow 提供支持的 RankBrain。RankBrain 现在处理大量的搜索查询,替换和补充传统的静态算法搜索结果。

收藏 1个人收藏 头像
走进科技生活方式

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • End user 终端

    C端B端是什么意思

    B端通常为企业或商家为工作或商业目的而使用的系统型软件、工具或平台;C端意为消费者、个人用户或终端用户,使用的是客户端,顾名思义就是面向个人用户提供服务的产品,是直接服务于用户的。
  • virtual human 虚拟人

    虚拟人是什么

    虚拟人指通过数字技术模拟真实的人体器官而合成的三维模型,不仅具有人体外形以及肝脏、心脏、肾脏等各个器官的外貌,且具备各器官的新陈代谢机能,能较为真实地显示出人体的正常生理状态和出现的各种变化,是为医学或其他学科的研究提供更为精致的演示条件。
  • DNS over TLS DoT 域名解析安全扩展协议

    DoT是什么

    DNS over TLS(简称DoT)是一项域名解析安全扩展协议,它使用TLS协议加密传输用户和递归解析服务器之间的DNS消息,起到防止中间用户窃听和域名查询隐私泄漏的作用。
  • Technical quality 技术素质

    技术素质是什么

    技术素质是指一个人对与技术有关知识和方法的掌握、运用以及评价的总体水平,技术负责人必须既具备一定深度的专业知识,还要具备法律、造价、管理、商务谈判、经营、礼仪等方面的知识,是内行,不是表面的无技者。
  • domestic demand 内需

    内需是什么

    内需是经济学名词,即内部需求,包括投资需求和消费需求两个方面,通常把对外国的出口看作外需,内需是相对的国内的需求,包括国内消费需求和投资的需求,扩大内需主要是通过扩大国内投资和国内消费来带动国民经济增长。
  • Blockchain 区块链

    数字通证是什么

    数字通证指的是以数字形式来体现的一种权益的凭证。通证可以代表相关的权益证明,货币、票据等等都含有数字形式的通证,从而达到便于识别的目的,数字通证是可以进行加密的,从而加强了真实性和安全性,防止不明人员入侵。