快捷方式

torch.jit.set_fusion_strategy

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

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

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

行为 - 静态与动态

在 STATIC 融合中,融合的运算符被编译为具有固定输入形状。形状是根据一些初始分析运行来确定的。在 DYNAMIC 融合中,融合的运算符被编译为具有可变输入形状,因此可以有多种形状。

在这两种情况下,我们还会在新的步幅行为、设备或数据类型上重新编译。

行为 - 回退函数和深度

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

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

注意:将来,如果添加了更多融合后端,可能会为特定融合器提供更细粒度的 API。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

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

查看资源