1、TensorFlow基础

本文介绍了TensorFlow作为深度学习框架的技术特点与编程模型。它不仅支持多种算法如线性回归、逻辑回归等,还提供了丰富的功能如自动求导、模型并行计算等。此外,文章还探讨了TensorFlow的性能优化手段及其在谷歌云平台和Hadoop上的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 概要

官网:https://www.tensorflow.org/

GitHub:https://github.com/tensorflow/tensorflow

模型仓库:https://github.com/tensorflow/models

TensorFlow既是一个实现机器学习算法的接口,也是执行机器学习算法的框架。

除了执行深度学习,还可以实现许多其他算法,比如线性回归、逻辑回归、随机森林等。

主要技术特性:

  • 编程模型:数据流模型
  • 语言:Python、C++、Java
  • 部署:一次编写,各处运行
  • 计算资源:CPU、GPU、TPU(Tensor Processing Unit,google专门为深度学习计算定制的芯片)
  • 实现方式:单机OR分布式
  • 平台支持:谷歌云平台、Hadoop分布式文件系统

1.2编程模型简介
在计算图的边中流动(flow)的数据被称为张量(tensor),故得名TensorFlow。
有一类特殊的边中没有数据流动,这种边是依赖控制,作用是让它的起始节点执行完之后再执行目标节点,用户可以使用这样的边进行灵活的条件控制,比如限制内存使用的最高峰值。
Session是用户使用TensorFlow的交互式接口,可以创建计算图,之后用Run方法执行计算图。

1.2.2 实现原理
TensorFlow的客户端,通过Session的接口与master及多个worker相连。其中每个worker可以与多个硬件设备相连(CPU|GPU)。master负责指导所有worker按流程执行计算图。
tensor的引用次数会被记录,当引用数为0时,内存将被释放。
节点分配设备策略:
  • 启发式,人工经验制定
  • 简单贪婪,对一小部分数据进行实际运算而测量得到。(未来可能会用强化学习的神经网络进行辅助决策)
  • 用户自定
1.2.3拓展功能
自动求导、单独执行子图、计算图的控制流

1.2.4性能优化
自动识别重复计算,改写计算图;异步计算,线程执行无须一直等待某个节点计算完成;支持高度优化第三方计算库;
TensorFlow提供三种不同的加速神经网络训练的并行计算模式:
  • 数据并行:将一个mini-batch的数据放在不同设备上计算,实现梯度计算的并行化。
  • 模型并行:将计算图的不同部分放在不同的设备上运算,实现简单的模型并行,目标在于减少每一轮训练迭代的时间。
  • 流水线并行:和异步的数据并行很像,只不过是在同一个硬件设备上实现并行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值