#23648·keras

tree.traverse 在 torch 后端上无法被 torch.compile 捕获

作者: pctablet505创建于 2026年9月16日更新于 2026年9月16日
标签backend:torch

在火炬后端,keras.tree.traverse'和通过`` t-to-ordered-dict'(blatten- with path',pack-sequence-as',map-shape-structure',lists-to-tuples')传递的任何东西不能用torch.compile'作为单一图表,因为`karas/src/tree/torchtree impl.py'使用了Dynamo拒绝追踪的两个模式:

  1. `is leaf=lambda x: id(x)!'=结构-id' 的正一等平地。 Dynamo模型 “ id( ) ” 作为一种编译的仅限时间值和比较图断面。
  2. 确定是否重建一个内部节点,如果 " 如果命令 " 孩子不是孩子: " 。 上面写着: 不支持: 追踪内建运算符失败... 内建 “ is not” 时带有参数类型 ['dit', “dit'] 。

也不依赖数据,所以每一个追踪到的呼叫的断层起火 都来自一个包含有密码或嵌入式容器的结构。 以torch 2.11.0.'和torch. dynamo. explain' attree.traverse' at [tensor,{'a: tenor}' ' 测量:2个图表、1个图断和`fullgraph=True' 直截了当。

这两次检查都是为了回答“这是根吗?” 和“我下面有什么变化吗?”

  • 直接穿过一层树 支持的[.]被夸大-fn'/被夸大-fn',而不是通过`被夸大'的 " 树 -- -- 被夸大 " 。 这是已经在同一模块中使用的“tree is leaf”和“tict to ordered dict”的图案,它也跳过了“TreeSpec”的构建,它立即被丢弃。
  • 将明确 " 更改 " 的旗帜从命令的复发中归还,而不是按照身份来比较重建后的儿童。

22561号机上部分为每架调用Python-放送机上系列.

内容来源: keras-team/keras