快捷方式

torch.jit.set_fusion_strategy

torch.jit.set_fusion_strategy(strategy)[源代码][源代码]

设置融合期间可能发生的特化类型和数量。

用法:提供(类型,深度)对的列表,其中类型是“STATIC”或“DYNAMIC”之一,深度是整数。

行为 - 静态 vs 动态

在静态融合中,融合的算子被编译为具有固定的输入形状。形状基于一些初始的性能分析运行来确定。在动态融合中,融合的算子被编译为具有可变的输入形状,因此可以支持多种形状。

在这两种情况下,我们也会在新步幅行为、设备或 dtype 上重新编译。

行为 - 回退函数 & 深度

当输入不匹配专门编译的算子所需的格式时,它将运行回退函数。回退函数会根据观察到的张量形状递归地编译和特化。由于编译可能很慢,“深度”参数用于限制可以编译的特化数量,在放弃重新编译并回退到完全未融合、未特化的实现之前。

(类型,深度)对的列表控制特化的类型和数量。例如:[(“STATIC”,2),(“DYNAMIC”,2)] 表示前两个特化将使用静态融合,接下来的两个特化将使用动态融合,任何不满足 4 个选项的输入将运行未融合的实现。

注意:未来,如果添加更多融合后端,可能会有更细粒度的特定融合器 API。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得您的问题解答

查看资源