Background: PyTorch
正如我们在 Background-Machine Learning 中所讨论的,
ML-Agents Toolkit 中提供的许多算法都基于深度学习。
更确切地说,ML-Agent Toolkit 的实现基于开源库 PyTorch。
在本节中,我们将简要介绍我们在 ML-Agents Toolkit 中所使用的 PyTorch 和 TensorBoard。
PyTorch
PyTorch 是一个开源库,用于使用 Data Flow Graphs(数据流图,深度学习模型的底层表示)执行计算。
它可以在 CPU 和 GPU 上的训练和推理,适用于包括桌面端、服务器、移动端等各种设备。
使用 ML-Agents Toolkit 训练 Agent,将输出一个可以与 Agent 关联的模型(.onnx)文件。
除非你需要实现一个新的算法,否则对于 PyTorch 的调用大多是间接的,并且在幕后进行。
TensorBoard
使用 PyTorch 训练模型时需要设置模型的一些属性(被称为超参数,Hyperparameters)
为这些 Hyperparameters 找到合适的值可能需要数次迭代。因此,我们常使用一个名为 TensorBoard 的可视化工具。
TensorBoard 可以在训练过程中可视化 Agent 的某些属性(例如 Reward),这有助于直观的了解不同的超参数的区别,并针对当前 Unity Environment 优化调整这些值。
关于如何设置 Hyperparameters,我们在 Training ML-Agents 页面提供更加详细的介绍。
如果对于 TensorBoard 不熟悉 ,我们推荐阅读 using TensorBoard with ML-Agents 或者这个 第三方教程。