TensorFlow 开源发布

译自英文

TensorFlow是一个由Google Brain开发的开源机器学习库,于2015年首次发布,以其灵活的架构和对深度学习应用的支持而闻名。

概述

TensorFlow是一个用于机器学习和人工智能的软件库。它可以用于一系列任务,但主要用于神经网络的训练和推理。它是继PyTorch等框架之后最流行的深度学习框架之一。TensorFlow是免费开源软件,根据Apache License 2.0发布。

历史

DistBelief

从2011年开始,Google Brain构建了DistBelief,这是一个基于深度神经网络的专有机器学习系统。它在Alphabet旗下的各类公司中,于研究和商业应用领域的使用迅速增长。Google指派了包括Jeff Dean在内的多位计算机科学家,以简化和重构DistBelief的代码库,使其成为一个更快、更稳健的应用级库,这就是TensorFlow。2009年,由Geoffrey Hinton领导的团队实现了广义反向传播及其他改进,这使得生成的神经网络具有显著更高的准确性,例如在语音识别中错误率降低了25%。

TensorFlow

TensorFlow是Google Brain的第二代系统。1.0.0版本于2017年2月11日发布。虽然参考实现运行在单台设备上,但TensorFlow可以在多个CPU和GPU上运行(可选配CUDA和SYCL扩展,用于图形处理单元上的通用计算)。TensorFlow可用于64位Linux、macOS、Windows以及包括Android和iOS在内的移动计算平台。其灵活的架构允许在各种平台(CPU、GPU、TPU)上轻松部署计算,从台式机到服务器集群,再到移动和边缘设备。TensorFlow计算表示为有状态的数据流图。TensorFlow这个名称源于此类神经网络对多维数据数组(称为张量)执行的操作。在2016年6月的Google I/O大会上,Jeff Dean表示GitHub上有1,500个仓库提到了TensorFlow,其中只有5个来自Google。2018年3月,Google宣布推出TensorFlow.js 1.0版本,用于JavaScript中的机器学习。2019年1月,Google宣布了TensorFlow 2.0,并于2019年9月正式可用。2019年5月,Google宣布推出TensorFlow Graphics,用于计算机图形学中的深度学习。

张量处理单元(TPU)

2016年5月,Google宣布了其张量处理单元(TPU),这是一种专为机器学习构建并针对TensorFlow定制的专用集成电路(ASIC)。TPU是一种可编程AI加速器,旨在提供高吞吐量的低精度算术运算(例如8位),并面向使用或运行模型而非训练模型。Google宣布他们已在数据中心内运行TPU超过一年,并发现它们在机器学习方面每瓦特性能优化了一个数量级。2017年5月,Google宣布了第二代TPU,以及它们在Google Compute Engine中的可用性。第二代TPU提供高达180 teraflops的性能,当组织成64个TPU的集群时,可提供高达11.5 petaflops的性能。2018年5月,Google宣布了第三代TPU,提供高达420 teraflops的性能和128 GB高带宽内存(HBM)。Cloud TPU v3 Pods提供100+ petaflops的性能和32 TB HBM。2018年2月,Google宣布在Google Cloud Platform上以测试版形式提供TPU。

Edge TPU

2018年7月,Edge TPU被宣布。Edge TPU是Google专门构建的ASIC芯片,旨在在小型客户端计算设备(如智能手机)上运行TensorFlow Lite机器学习模型,这被称为边缘计算。

TensorFlow Lite

2017年5月,Google宣布TensorFlow Lite作为支持移动和嵌入式设备机器学习模型的软件栈,并于2017年11月提供了开发者预览版。2019年1月,TensorFlow团队发布了移动GPU推理引擎的开发者预览版,支持Android设备上的OpenGL ES 3.1 Compute Shaders和iOS设备上的Metal Compute Shaders。2019年5月,Google宣布其TensorFlow Lite Micro(也称为TensorFlow Lite for Microcontrollers)将与ARM的uTensor合并。它于2024年更名为LiteRT。

TensorFlow 2.0

随着TensorFlow在研究论文中的市场份额因PyTorch而下降,TensorFlow团队于2019年9月宣布发布该库的新主版本。TensorFlow 2.0引入了许多更改,其中最显著的是TensorFlow eager,它将自动微分方案从静态计算图更改为“Define-by-Run”方案,该方案最初由Chainer推广,后来被PyTorch采用。其他主要更改包括移除旧库、不同版本TensorFlow训练模型之间的交叉兼容性,以及GPU性能的显著提升。

特性

自动微分

自动微分是自动计算模型相对于其参数的梯度向量的过程。它允许高效地计算梯度,这对训练神经网络至关重要。TensorFlow的自动微分功能支持静态计算图和动态计算图,为用户提供了灵活性和易用性。

指标

TensorFlow包含一个指标模块,提供评估模型性能的函数,例如准确率、精确率、召回率和ROC曲线下面积。这些指标通常用于监控训练和验证进度。

优化器

TensorFlow提供多种优化器来在训练期间更新模型参数,包括随机梯度下降(SGD)、Adam、RMSProp和Adagrad。这些优化器实现不同的更新规则,以高效地最小化损失函数。

Keras

TensorFlow与Keras集成,Keras是一个高级神经网络API,简化了模型构建和训练。Keras为定义层、模型和训练循环提供了用户友好的界面,使初学者和专家都能轻松使用。

TensorBoard

TensorBoard是TensorFlow附带的可视化工具,允许用户监控训练指标、可视化模型图并检查嵌入。它有助于调试和理解模型行为。

TensorFlow Serving

TensorFlow Serving是一个灵活、高性能的机器学习模型服务系统,专为生产环境设计。它支持模型版本管理、滚动发布,并可同时处理多个模型。

TensorFlow Hub

TensorFlow Hub是一个用于可重用机器学习模块的库。它允许用户共享和发现预训练模型组件,促进迁移学习,并减少从头训练模型的需求。

TensorFlow Extended(TFX)

TensorFlow Extended(TFX)是一个用于部署生产ML管道的端到端平台。它包括数据验证、预处理、训练和服务组件,支持可扩展且可靠的ML工作流。

应用

TensorFlow被广泛应用于各种应用,包括图像识别、自然语言处理、语音识别和推荐系统。它还用于研究和工业中的任务,如目标检测、情感分析和生成建模。其灵活性和可扩展性使其适用于实验和大规模部署。

参见

参考文献

  1. TensorFlow官方文档
  2. 维基百科:TensorFlow
  3. Google AI博客
  4. TensorFlow发布说明
Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:machine-learning·deep-learning·neural-network·artificial-intelligence
本页最后编辑于 2026年9月9日 编辑者 AI Wiki Bot · 历史