TensorFlow 是一个开源的、基于 Python 的机器学习框架,它由 Google 开发,并在图形分类、音频处理、推荐系统和自然语言处理等场景下有着丰富的应用,是目前最热门的机器学习框架。
除了Python,TensorFlow 也提供了 C/C++、Java、Go、R 等其它编程语言的接口。

任何曾经试图在 Python 中只利用 NumPy 编写神经网络代码的人都知道那是多么麻烦。编写一个简单的一层前馈网络的代码尚且需要 40 多行代码,当增加层数时,编写代码将会更加困难,执行时间也会更长。

TensorFlow 使这一切变得更加简单快捷,从而缩短了想法到部署之间的实现时间。在本教程中,你将学习如何利用 TensorFlow 的功能来实现深度神经网络。

TensorFlow 是由 Google Brain 团队为深度神经网络(DNN)开发的功能强大的开源软件库,于 2015 年 11 月首次发布,在 Apache 2.x 协议许可下可用。截至今天,短短的两年内,其 GitHub 库大约 845 个贡献者共提交超过 17000 次,这本身就是衡量 TensorFlow 流行度和性能的一个指标。

图 1 列出了当前流行的深度学习框架,从中能够清楚地看到 TensorFlow 的领先地位:


图 1 TensorFlow的领先地位示意图

先来了解一下 TensorFlow 究竟是什么,以及它为什么在 DNN 研究人员和工程师中如此受欢迎。

开源深度学习库 TensorFlow 允许将深度神经网络的计算部署到任意数量的 CPU 或 GPU 的服务器、PC 或移动设备上,且只利用一个 TensorFlow API。你可能会问,还有很多其他的深度学习库,如 Torch、Theano、Caffe 和 MxNet,那 TensorFlow 与其他深度学习库的区别在哪里呢?包括 TensorFlow 在内的大多数深度学习库能够自动求导、开源、支持多种 CPU/GPU、拥有预训练模型,并支持常用的NN架构,如递归神经网络(RNN)、卷积神经网络(CNN)和深度置信网络(DBN)。

TensorFlow 则还有更多的特点,如下:

  • 支持所有流行语言,如 Python、C++、Java、R和Go。
  • 可以在多种平台上工作,甚至是移动平台和分布式平台。
  • 它受到所有云服务(AWS、Google和Azure)的支持。
  • Keras——高级神经网络 API,已经与 TensorFlow 整合。
  • 与 Torch/Theano 比较,TensorFlow 拥有更好的计算图表可视化。
  • 允许模型部署到工业生产中,并且容易使用。
  • 有非常好的社区支持。
  • TensorFlow 不仅仅是一个软件库,它是一套包括 TensorFlow,TensorBoard 和 TensorServing 的软件。

谷歌 research 博客列出了全球一些使用 TensorFlow 开发的有趣项目:

  • Google 翻译运用了 TensorFlow 和 TPU(Tensor Processing Units)。
  • Project Magenta 能够使用强化学习模型生成音乐,运用了 TensorFlow。
  • 澳大利亚海洋生物学家使用了 TensorFlow 来发现和理解濒临灭绝的海牛。
  • 一位日本农民运用 TensorFlow 开发了一个应用程序,使用大小和形状等物理特性对黄瓜进行分类。

使用 TensorFlow 的项目还有很多。本教程旨在让读者理解 TensorFlow 在深度学习模型中的应用,使读者可以轻松地将模型用于数据集并开发有用的应用程序。每章包含一系列处理技术问题、依赖性、代码和解读的示例,在每章的最后,还有一个功能完善的深度学习模型。

【TensorFlow】TensorFlow是什么?相关推荐

  1. TensorFlow | TensorFlow实践(一)

    大家好我是博主小兵,也可以叫我Michael,yes!the impetuous MJ is me(why this word use English , The CSDN exist bug!!!! ...

  2. [tensorflow] tensorflow书签以及资料整理

    书签以及资料整理 C++部署TensorFlow模型 https://blog.csdn.net/MOU_IT/article/details/88070285 编译使用tensorflow c版本动 ...

  3. 模型转换:pytorch模型转onnx, onnx转tensorflow, tensorflow转tflite

    文章目录 软件版本: pytorch模型转onnx onnx模型转tensorflow tensorflow模型转tflite 软件版本: tensorflow 2.3.1 pytorch 1.6.0 ...

  4. Debug Tensorflow: tensorflow.python.framework.errors_impl.InvalidArgumentError: OpKernel ‘ConcatV2‘

    环境 Ubuntu 18.04 Tensorflow-gpu 2.4 报错 Traceback (most recent call last):File "nn/cnn.py", ...

  5. Tensorflow——Tensorflow的用途、安装、数据流图

    1.前言 最近几年火起来的机器学习有没有让你动心呢? 学习 google 开发定制的 tensorflow, 能让你成为机器学习, 神经网络的大牛,同时也会在海量的信息当中受益匪浅. 2.Tensor ...

  6. [tensorflow]tensorflow 2.1 函数API(The Functional API)

    目录 1.函数API介绍 2.创建模型 3.训练和评估模型 4.保存模型 5.模型的嵌套 1.函数API介绍 Keras的函数API是一种创建模型的方法,该模型比tf.keras.Sequential ...

  7. [tensorflow]tensorflow 顺序模型(Sequential model)

    注意:采用tensorflow 2.1.0 1.适用顺序模型的情况 顺序模型适用于简单的层堆栈,其中每一层正好具有一个输入张量和一个输出张量. 例如: import tensorflow as tf ...

  8. python2安装tensorflow,tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)

    1.0tensorflow的安装 1.1安装python 安装时勾选Add Python 3.7 to PATH,把python添加到环境变量. 1.2安装tensorflow 打开命令行,执行 pi ...

  9. tensorflow | tensorflow实现将ckpt转pb文件

    本博客实现将自己训练保存的ckpt模型转换为pb文件,该方法适用于任何ckpt模型,当然你需要确定ckpt模型输入/输出的节点名称. 目录 tensorflow实现将ckpt转pb文件 一.CKPT ...

  10. 理解和实现分布式TensorFlow集群完整教程

    手把手教你搭建分布式集群,进入生产环境的TensorFlow 分布式TensorFlow简介 前一篇<分布式TensorFlow集群local server使用详解>我们介绍了分布式Ten ...

最新文章

  1. 设计模式中的六大基本原则
  2. 万粉博主推荐,微信小程序 +Flask 后端调用 AnimeGanV2
  3. python3 字符串格式化
  4. 【数字信号处理】傅里叶变换性质 ( 频域函数的共轭对称分解 | 序列的傅里叶变换 | 傅里叶变换的共轭对称 | 傅里叶变换的共轭反对称 )
  5. C++中不同的继承方式
  6. 海量数据下如何使用多线程的导出 Excel
  7. html设置页面的高度和宽度,web显示页面有图像上设置高度和宽度很重要
  8. 《嵌入式设备驱动开发精解》——1.1 本书内容的组织
  9. python数据框添加一列无列名_Pandas只使用列名创建空数据框
  10. 【系列二之图像处理系列】提取图片(1)
  11. Linux下结束进程的命令
  12. Cobalt Strike小技巧——后台挂起CS服务端
  13. 成都Uber优步司机奖励政策(3月10日)
  14. codeforces 417D Cunning Gena
  15. 泥瓦匠这几年 Java ...
  16. 侦探悬疑推理大全隐私政策
  17. 解密:腾讯如何打造一款实时对战手游
  18. 股票数据抓取 php,如何抓取股票数据
  19. 微积分与概率论的基础知识
  20. JAVA中的向上转型和向下转型

热门文章

  1. h5页面如何预览excel文件_移动端页面,如何解析预览 word/excel/PDF文件?
  2. 五行塔怎么吃第五个_中医美容——“五行美容养颜法”,善用五行,女人会越来越漂亮...
  3. python中forward的作用_基于numpy的前馈神经网络(feedforward neural network)
  4. jwt token 太长_理解 JWT 鉴权的应用场景及使用建议
  5. controller接收json数据_SpringMVC实现多种数据类型绑定
  6. 使用c++查看linux服务器某个进程正在使用的内存_精选20个常用的Linux命令
  7. java new对象 =null_在Java中将对象分配为null会影响垃圾回收吗?
  8. Java正则表达式总结
  9. 怎样查看电脑系统版本_用什么软件查维修记录 思域HATCHBACK怎样查询维保记录_汽车事故车查询...
  10. 一般性能服务器图片及介绍,服务器内部主要几种硬件以及它们的作用介绍