pytorch 源码阅读(2)——torch._dynamo.optimize

0 torch._dynamo.optimize(backend, *, nopython, guard_export_fn, guard_fail_fn, disable, dynamic),TorchDynamo 的主入口点

1 参数说明

  • backend,一般有两种情况:
    • 一个包含 torch.fx.GraphModule 和 example_inputs,返回一个能够更快执行 graph 的函数或者可调用的对象。也可以通过设置backend_ctx_ctor 属性,来给后端提供额外的上下文。具体用法可以查看AOTAutogradMemoryEfficientFusionWithContext
    • 或者是一个torch._dynamo.list_backends()里面的字符串后端名称。
  • nopython: 如果时 True,graph breaks 将会报错,并且只有一个完整的 graph
  • disable:如果为 True,设置当前装饰器为 no-op
  • dynamic:(bool or None): 使用动态 shape 进行 tracing
    • True:尝试生成尽可能动态的 kernel,但这个也不总是有效的,因为某些特化优化会使动态 kernel 失效
    • False:将不生成任何动态的 kernel,只进行特化优化
    • None:默认值,会自动检测是否发生了动态变化,并在重新编译时编译一个更动态的动态内核。

2 额外说明

这个函数时 TorchDynamo 的主入口点。 进行 graph 提取并调用 backend() 来优化提取到的 graph。

相关推荐
悟道心4 分钟前
6. 自然语言处理NLP - 迁移学习
人工智能·transformer
juxieyiyi8785 分钟前
CDN与PCDN在边缘计算中的分工
人工智能·边缘计算·cdn·pcdn·平台搭建·互联网项目·pcdn平台搭建双收益
peixiuhui6 分钟前
OpenPLC与RK3576边缘计算网关中结合应用的技术案例与分析
人工智能·边缘计算·rk3588·rk3568·openplc·rk3576·g8701
海棠AI实验室7 分钟前
专栏导读:你将交付什么、如何学、如何做作品集
python·数据挖掘
vyuvyucd8 分钟前
Python库使用全攻略
人工智能
m0_6136070112 分钟前
小土堆-P3-笔记
pytorch·python·深度学习
rgeshfgreh13 分钟前
Python高效开发:标准库与第三方库实战指南
python
十三画者14 分钟前
【文献分享】SpatialZ弥合从平面空间转录组学到三维细胞图谱之间的维度差距
人工智能·数据挖掘·数据分析·数据可视化
一条咸鱼_SaltyFish14 分钟前
[Day13] 微服务架构下的共享基础库设计:contract-common 模块实践
开发语言·人工智能·微服务·云原生·架构·ai编程