动态Shape模型编译
MindIE Torch支持两种动态Shape模式,分别为动态Dims和ShapeRange。
- 动态Dims(仅TorchScript路线支持):对于动态Dims可将模型输入Shape设置为离散型的数值,按档位设置动态dims。
例:如果设置三个档位分别是(1,3,4,4)、(2,3,4,4)、(4,3,8,8),表示模型推理时输入shape支持上述三个档位中的任意一个。
- ShapeRange(TorchScript路线和torch.export路线支持):对于ShapeRange可以将模型输入shape设置为一个范围。
例:设置最小ShapeRange为(1,3,4,4),设置最大ShapeRange为(16, 3,4,4),表示模型推理时输入Shape的第0维可以支持1-16中的任意整数值。

- 动态Dims和ShapeRange两种模式在使用时由CompileSpec的graphInputs的参数进行设置,详情请参考GraphInputs。
- torch.compile路线模型的静/动态编译由该接口的dynamic字段控制,且由于其即时编译的特点,MindIE Torch的自定义后端会自动根据模型推理的实际输入,构造编译时所需静态或者ShapeRange的Input对象。
父主题: MindIE Torch如何工作