TensorFlow简介

TensorFlow产生的历史

TensorFlow简介_第1张图片
  • 1980s:感知机与特征工程
    • 计算力低,数据量小
  • 1990s:神经网络在图像和语音领域发力
    • MINIST:手写字体识别,机器学习界的Hello Word
  • 2012-:算力和数据增长推动深度学习的繁荣发展
    TensorFlow简介_第2张图片TensorFlow简介_第3张图片

TensorFlow与Jeff Dean

TensorFlow之父——Jeff Dean
TensorFlow简介_第4张图片

TensorFlow前世今生

  • 第一代大规模分布式深度学习框架:Google DistBelief(2012年)
    • paper:Large Scale DistBelief Deep Network
  • 第二代大规模分布式深度学习框架(开源):Google TensorFlow(2015年)
    • 灵活通用的深度学习库
    • 端云结合的人工智能引擎
    • 高性能的基础平台软件
    • 跨平台的机器学习系统

TensorFlow的应用场景

TensorFlow简介_第5张图片

  • 其中AlphaGO Zero是纯强化学习,没有输入任何棋谱训练
  • TPU比GPU在深度学习的训练方面更有优势
    • GPU是为大量的浮点数运算而设计的一种硬件
    • 可以任务TPU是专门为TensorFlow设计的硬件
    • 现在衍生出专门的AI芯片

TensorFlow的发展现状

TensorFlow开源社区

TensorFlow项目发展
TensorFlow简介_第6张图片

  • Initial Release
  • GPU&more:支持GPU,支持更多平台
  • TensorBoard:可视化工具,数据流图方式展现模型
  • 1.0 Release(第一个正式版):XLA(优化数据流图执行效率), New APIs(增加很多新的API),投入商业生产环境
  • High-Level APIs:包括Keras、TFLearn等
  • tf.keras、tf.data:处理数据的模块,有效代替Pandas
  • TF Lite:轻量型,移动端应用
  • Eager:动态图执行模式
    • 静态数据流图:提升运行时效率,难调试
    • Eager:支持Python原生语言,降低使用门槛

TensorFlow多语言接口
TensorFlow简介_第7张图片

搭建TensorFlow开发环境

TensorFlow支持的硬件平台
TensorFlow简介_第8张图片

  • 支持最简单的中央处理器CPU(Central Processing Unit ),使得PC机、笔记本、服务器均可使用TensorFlow
  • 高性能服务器、高性能桌面环境支持图形处理器GPU(Graphics Processing Unit),一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器
  • 张量处理单元即TPU(Tensor Processing Unit),一款为机器学习而定制的芯片,经过了专门深度机器学习方面的训练,有更高效能(每瓦计算能力)

TensorFlow支持的操作系统

  • Ubuntu 16.04 or later
  • Windows 7 or later
  • MacOS 10.12.6(Sierra) or later
    • Mac的GPU现在已经不再维护,兼容性可能不太好
    • 建议在英伟达的GPU或TPU上使用
  • Raspbian 9.0 or later(树莓派)

安装TensorFlow
【TensorFlow】Anaconda中安装TensorFlow

在交互环境中使用TensorFlow

  • jupyter notebook

在容器中使用TensorFlow
TensorFlow简介_第9张图片

TensorFlow模块与基础架构

TensorFlow模块与APIs
TensorFlow简介_第10张图片

  • Keras是一个比TensorFlow还要早的开源项目,最早对接Torch这种开源框架;
  • Estimator由TensorFlow团队推出,从模型设计角度很适用,提供了模型估算、模型定义、模型指标度量的接口;
  • Layers:封装好的神经网络层的接口,诸如卷积、池化……
  • Datasets:数据处理、数据输入输出;
  • Metrics:获取训练过程各种的指标;

TensorFlow架构

  • 模块化,分层次
    • 高层次的模块调用低层次的模块,低层次以接口的方式向上提供调用的逻辑
    • 核函数:操作的实现
      TensorFlow简介_第11张图片

极客时间

你可能感兴趣的:(深度学习框架)