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。

相关推荐
梧桐树042929 分钟前
python常用内建模块:collections
python
AI_NEW_COME31 分钟前
知识库管理系统可扩展性深度测评
人工智能
Dream_Snowar37 分钟前
速通Python 第三节
开发语言·python
海棠AI实验室1 小时前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself1 小时前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董2 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee2 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa2 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐2 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空2 小时前
Python调用open ai接口
人工智能·python