核心要点

  • CPU、GPU(CUDA)、TPU

  • 了解设备放置 /GPU:0:回答时要先解释它的含义,再补一句适用场景或工程例子,避免只背名词。

  • 知道 tf.device 与策略 API

  • 能说明边缘与云端差异:回答时要先解释它的含义,再补一句适用场景或工程例子,避免只背名词。

简要回答

TensorFlow 支持 CPU、NVIDIA GPU(CUDA)、Google TPU 等设备;通过 tf.device 或 MirroredStrategy 等 API 指定运算设备,TPU 需云端或专用环境。

标准回答

一、核心回答

TensorFlow 支持多种计算设备

设备 说明
CPU 默认,任意平台
GPU NVIDIA CUDA GPU,/GPU:0
TPU Google 张量处理器,云端/Colab
多 GPU MirroredStrategy、MultiWorker

二、指定设备

示例代码可以这样理解:
with tf.device('/GPU:0'):
y = tf.matmul(a, b)

三、探测

tf.config.list_physical_devices('GPU')

四、分布式

tf.distribute.MirroredStrategy() 数据并行多卡;TPU 用 TPUStrategyresolver

五、边缘

训练多在 GPU/TPU;TFLite 在 ARM CPU、DSP、NPU 推理。与 PyTorch(CUDA、MPS、ROCm)生态对比:TF 对 TPU 一等支持是独特优势。详见 深度学习训练技巧

回答思路

  • 【定义】用一句话说清「TensorFlow 支持在哪些设备上计算」

  • 【原理】讲清关键机制或步骤(2~3 点)

  • 【例子】举一个真实项目、论文或产品中的例子

  • 【对比】与易混淆概念或替代方案比较(如有)

  • 【收尾】总结适用场景 + 一个局限或风险

延伸学习

工具:TensorFlowPyTorch。知识库:深度学习训练技巧深度学习基础。动态见 AI 资讯

常见误区

⚠️ 常见踩坑

误区一:容易答偏的地方:有 GPU 未指定导致慢速 CPU 训练;多卡未用 Strategy 只用到一卡;本地环境声称用 TPU。

追问

追问 1GPU 内存不足怎么办?

减小 batch、混合精度、梯度累积、tf.keras 模型 checkpoint 层;或 tf.config.experimental.set_memory_growth 按需分配显存

追问 2TPU 和 GPU 训练差异?

TPU 擅长大 batch 矩阵运算,需 GCS 存数据、特定输入 shape(often 128 倍数);代码用 TPUStrategy。GPU 更灵活通用。

追问 3Mac Apple Silicon 能用 TF GPU 吗?

tensorflow-metal 插件支持部分 Mac GPU 加速;不如 NVIDIA CUDA 成熟,生产训练仍多 Linux+NVIDIA 或云 TPU。

🔗 相似问题

同一考点的不同问法,换着练更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习