TensorFlow 介绍(简单版)

举报
一颗小树x 发表于 2020/11/07 23:10:06 2020/11/07
【摘要】 一、什么是TensorFlow?它是端到端的开源机器学习平台;一个核心开源库,可以帮助我们开发和训练机器学习模型。借助TensorFlow,初学者和专家可以轻松地创建机器学习模型。我们可以使用 Sequential API 来使用TensorFlow,也可以使用Keras API 调用TensorFlow开源库。常见问题的解决方案:https://www.tensorflow.org/ove...


一、什么是TensorFlow?

它是端到端的开源机器学习平台;一个核心开源库,可以帮助我们开发和训练机器学习模型。借助TensorFlow,初学者和专家可以轻松地创建机器学习模型。

我们可以使用 Sequential API 来使用TensorFlow,也可以使用Keras API 调用TensorFlow开源库。

常见问题的解决方案:

image.png


https://www.tensorflow.org/overview/?hl=zh_cn



二、TensorFlow 特点

  1. 轻松地构建模型:可以使用高阶 Keras API 构建和训练模型,该 API 让我们能够轻松地开始使用 TensorFlow 和机器学习。对于大型机器学习训练任务,可以使用 Distribution Strategy API 在不同的硬件配置上进行分布式训练,而无需更改模型定义。

  2. 可靠地实现机器学习:TensorFlow 都可以助我们轻松地训练和部署模型,支持多种语言和平台。如果需要完整的生产型机器学习流水线,使用 TensorFlow Extended (TFX)。要在移动设备和边缘设备上进行推断,使用 TensorFlow Lite。使用 TensorFlow.js 在 JavaScript 环境中训练和部署模型。

  3. 具有强大的研究经验:构建和训练先进的模型,并且不会降低速度或性能。借助 Keras Functional API 和 Model Subclassing API 等功能,TensorFlow 可以助我们灵活地创建复杂拓扑并实现相关控制。TensorFlow 还支持强大的附加库和模型生态系统以供我们开展实验,包括 Ragged Tensors、TensorFlow Probability、Tensor2Tensor 和 BERT。

 

三、TensorFlow的发展历程

2011:DistBelief

2015.11:TensorFlow 0.5.0

2017.02:TensorFlow 1.0

  1. 高层API,将Keras库整合进其中

  2. 动态图机制:Eager Execution

  3. 面向移动智能终端:TensorFlow Lite

  4. 面向网页前端:TensorFlow.js

  5. 自动生成计算图:AutoGraph

2019:TensorFlow 2.0

 

四、TensorFlow1.0 与TensorFlow2.0 对比

从执行机制对比:

TensorFlow1.x ——延迟执行机制(deferred execution)/静态图机制(代码运行效率高,便于优化、程序不够简洁)

image.png

TensorFlow2.0 ——动态图机制(Eager Execution)

  • 无需首先创建静态图,可以立刻执行计算,并返回结果

  • 能够快速的建立和调试模型

  • 执行效率不高

a=tf.constant(2,name="input_a")
b=tf.constant(3,name="input_b")
print(a+b)

兼顾易用性和执行效率——  在程序调试阶段使用动态图,快速建立模型、调试程序;在部署阶段,采用静态图机制,从而提高模型的性能和部署能力

总体对比:

TensorFlow1.x ——重复、冗余的API

  • 构建神经网络:tf.slim,tf.layers,tf.contrib.layers,tf.keras 

  • 混乱,不利于程序共享,维护的成本高

TensorFlow2.0 ——清理 / 整合API

  • 清理、整合了重复的API

  • 将tf.keras作为构建和训练模型的标准高级API



5)TensorFlow2.0 框架、特点

TensorFlow2.0 架构:

image.png


特点:

1、多种环境支持

  • 可运行于移动设备、个人计算机、服务器、集群等

  • 云端、本地、浏览器、移动设备、嵌入式设备

2、支持分布式模式

  • TensorFlow会自动检测GPU和CPU,并充分利用它们并行、分布的执行

3、简洁高效

  • 构建、训练、迭代模型:Eager Execution,Keras

  • 部署阶段:转化为静态图,提高执行效率。

4、社区支持



6)TensorFlow 是否受欢迎呢?是否被大家所使用?

我们看看下图,使用 TensorFlow 的公司:

image.png


不得不说,有这么多巨头公司都使用,说明还是很不错的。( •̀ ω •́ )y



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。