如何在 Graphcore IPU 中使用 tensorflow

roc*_*527 -3 python artificial-intelligence tensorflow ipu

我想用 graphcore IPU 测试性能,但我不知道如何使用 tensorflow。有人可以帮我做到这一点吗?

小智 7

Graphcore Poplar SDK 包含两个轮文件,用于为 Python 3 的 v1.15 或 v2.1 的 TensorFlow 安装 Graphcore 端口。您应该在虚拟环境中安装两个轮文件之一,然后您将需要更多能够在 IPU 设备上运行模型的步骤。

根据应用程序,一些 IPU 特定的模块导入需要添加到您的程序中:

from tensorflow.python.ipu import utils, ipu_compiler, scopes, loops, ipu_infeed_queue, ipu_outfeed_queue
Run Code Online (Sandbox Code Playgroud)

您必须通过将 TensorFlow 图放在 IPU 设备上并删除代码中可能具有的任何 CPU/GPU/TPU 特定选项来确保以 Graphcore IPU 硬件为目标。然后,您可以使用自定义 IPU 编译器来编译 TensorFlow 图:

with scopes.ipu_scope("/device:IPU:0"):
compiled = ipu_compiler.compile(training_loop)
Run Code Online (Sandbox Code Playgroud)

下一步是配置 IPU 设备:基本配置包括定义您希望模型在多少个 IPU 上运行。假设您只需要一个 IPU:

config = utils.create_ipu_config()
config = utils.auto_select_ipus(config, [1])
utils.configure_ipu_system(config)
Run Code Online (Sandbox Code Playgroud)

我建议阅读相关参考指南Targeting the IPU from TensorFlow作为对 TensorFlow-to-Poplar API 的主要介绍。您还可以参考本文档作为在 IPU 上移植 TensorFlow 模型的实用指南,以及一些有关最佳实践的指南。