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。

相关推荐
aneasystone本尊4 分钟前
梳理 Dify 应用的会话接口
人工智能
Web3&Basketball7 分钟前
大语言模型LLM解决AI幻觉方法的深度分析
人工智能·语言模型·自然语言处理
.银河系.10 分钟前
9.28 深度学习10
人工智能·深度学习
jie*11 分钟前
小杰深度学习(two)——全连接与链式求导
图像处理·人工智能·pytorch·python·深度学习·分类·回归
Bwcx_lzp15 分钟前
深度学习核心技术演进:从函数到 Transformer 架构
人工智能·深度学习·transformer
北京耐用通信31 分钟前
协议不通,数据何通?耐达讯自动化Modbus TCP与Profibus网关技术破解建筑自动化最大瓶颈
网络·人工智能·网络协议·自动化·信息与通信
IT_陈寒34 分钟前
Redis 性能提升秘籍:这5个被低估的命令让你的QPS飙升200%
前端·人工智能·后端
CodeCraft Studio1 小时前
借助Aspose.Email,使用 Python 将 EML 转换为 MHTML
linux·服务器·python·aspose·email·mhtml·eml
SkylerHu1 小时前
MacOS 使用ssh2-python报错ImportError: dlopen ... _libssh2_channel_direct_tcpip_ex
python·macos·ssh2
victory04311 小时前
从机器学习到RLHF的完整学科分支脉络与赛道分析
人工智能·机器学习