并行化CPU到GPU数据传输 继续假定目标是8个批量为256的GPU(每个GPU32个)。一旦输入图像由CPU处理和连接在一起,我们就有8个张量,每个批量大小为32。
针对GPU进行优化 本节包含一般最佳实践中未涉及的GPU特定提示。在多GPU上获得最佳性能是一项挑战。常用的方法是使用数据并行。
工人服务(每项任务中的一项) 使用适合可用硬件(CPU,GPU等)的内核实现来安排图操作的执行。 向其他工作者服务发送和接收操作结果。 内核实现 执行单个图形操作的计算。
GPU内核 GPU内核分两部分实现:OpKernel和CUDA内核及其启动代码。 有时OpKernel的实现在CPU和GPU内核之间很常见,比如检查输入和分配输出。
例如,上述图像的标签是5,0,4和1。 在本教程中,我们将训练一个模型来查看图像并预测它们的位数。我们的目标不是培养一个真正精心设计的模型来实现最先进的性能(尽管我们会在稍后为您提供代码!)
如果您在使用PythonAPI构建图表时没有指定一个图表,则会为您选择一个反映操作名称的图表,例如“MatMul”,并与一个单调递增的数字(如“5”)相连接。
如果您想要在GPU上运行计算或以分布式方式运行计算,则这种开销尤其糟糕,因为传输数据的成本很高。 TensorFlow也在Python之外进行繁重的工作,但为了避免这种开销,它需要更进一步。
虽然它不如完整运行的训练,但这对于许多应用程序来说是非常有效的,并且可以在笔记本电脑上短短三十分钟内运行,而无需GPU。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
