APP下载

TensorFlow 2.3加入新API解决资料工作管线载入瓶颈

消息来源:baojiabao.com 作者: 发布时间:2026-09-05

报价宝综合消息TensorFlow 2.3加入新API解决资料工作管线载入瓶颈

机器学习框架TensorFlow团队发布了最新2.3版本,这个版本的更新重点,加入了新工具,让使用者可在一台或是多台电脑中,能够轻松地载入并且预处理资料,解决输入工作管线瓶颈的问题。另外,TF Profiler还加入了内存分析器以及Python追踪器,方便开发者追踪程式执行状况。

tf.data加入了两种机制解决输入工作管线的瓶颈,以提高资源利用率。当连接到训练装置的主机,无法满足模型消耗资料的需求时,将无法完全发挥加速器效能,进而拖慢训练速度,官方提到,现代的加速器,无论是GPU或TPU,运算速度都非常快,假设当加速器每秒可以分类200个范例,但是资料输入管道每秒只能从磁盘中载入100个,那加速器将会有50%处于闲置状态。

对于这种情况,tf.data新的服务API可提升训练速度,透过将资料分散预先载入到训练的丛集中,并且进行预处理,如此便能每秒产生200个范例,使训练速度提高一倍。官方表示,虽然分散输入工作管线,是个有用的工具,但是当用户工作仅在单一电脑上,则分散式方法可能无用武之地,因此tf.data也提供了工具,改善单一电脑上输入工作管线的效能。

除了新的服务API,tf.data还多了快照API,可以将预处理工作管线中的资料,输出到磁盘中永久保存,以便在不同的训练中重复使用,官方提到,当用户执行运算成本较高的预处理资料集,像是经剪裁或旋转的图片,则能在预处理结束后储存,以便在不同的训练中使用,节省CPU和加速器时间。

另外,TensorFlow 2.3的TF Profiler加入了两个新功能,分别是内存分析器(下图)以及Python追踪器。内存分析器能让用户在模型训练期间,监控内存的使用状况,以便分析在训练工作期间遭遇内存不足的情况,更全面了解内存高峰使用,以及大量消耗内存的操作。而Python追踪器则能监控Python的呼叫堆叠,提供更多程式执行中的资讯。

而TensorFlow 2.3新加入了Keras预处理层,这是一个实验性功能,让用户能够将预处理逻辑,当作是模型中的一部分包含在模型内,因此在模型输出时,预处理层就会像是模型其他层一样,被储存起来,并让之后的部署更简单。官方举例,使用者可以利用这个新功能,创建物体侦测模型,模型本身就能包含调整大小、缩放和正规化层,也就是说,该模型的输入可以接受任何尺寸的图像,并自动正规化像素值。

对于结构化资料来说,可以使用诸如StringLookup之类的预处理层,对分类特征进行编码,因此开发者将可以开发模型,并将表格中的列资料作为模型的输入。官方提到,这项功能仍在实验阶段,他们预计会在2.4版本使其脱离实验阶段,想要将其用在生产环境的用户,可能还需要等等。

2020-08-03 23:48:00

相关文章