尽管标准 Keras API 提供了构建多种模型的有效方法,但某些研究目标或复杂应用需要更高的灵活性。本章介绍一些方法,用于扩展 TensorFlow 的核心功能以适应特定需求。您将学习如何通过以下方式更精细地控制模型架构和训练过程:继承 tf.keras.Model 类以创建完全自定义的模型结构。通过继承 tf.keras.layers.Layer 类开发独特的处理模块。实现根据特定目标定制的自定义损失函数和评估指标。使用 tf.GradientTape 编写自定义训练循环,以精确控制梯度计算和权重更新。处理特殊数据表示形式,例如用于变长输入的 tf.RaggedTensor 和用于包含大量零值的数据的 tf.SparseTensor。使用 TensorFlow Addons 以获取社区贡献的额外组件。掌握这些技术将使您能够摆脱预定义结构,并实现新颖的构想或高度专业的机器学习系统。