WeGO-Torch 工程当前尚处于抢先体验状态,可能存在一些已知的使用问题。以下是这些问题的详情以及解决这些问题的必要步骤:
- WeGO-Torch 无法支持 RCNN 模型(含控制流),原因是:
- RCNN 模型支持:由于动态形状问题,WeGO-Torch 目前不支持含控制流的 RCNN 模型。在 RCNN 模型中,提供不同的图像作为输入时,张量的形状会在运行时发生变化。这给 WeGO 的部署带来了挑战。为使 RCNN 模型与 WeGO 兼容,需要手动修改以消除这一限制。
- 输入类型兼容性:RCNN 模型通常接受
Tensor[]
作为输入类型,而 WeGO 的编译 API 不支持这种输入类型。另外,使用Tensor []
作为输入类型暗示浮点模型本身对批次敏感,在 TorchScript 追踪阶段期间使用不同批次大小时,通过追踪获取的量化模型不尽相同。要在 WeGO 中部署这些模型,建议采取以下步骤:- 将
Tensor []
替换为Tensor
或Tensor, Tensor, ...
(当输入数量已知时)作为原始浮点模型中的输入类型。 - 在 WeGO 中用于推断的批次大小必须与量化期间导出阶段所使用的批次大小相同。
- 将
- WeGO-Torch 目前只覆盖了数据中心 DPU 可以支持的一部分运算符。因此,即使数据中心的 DPU 可以支持某些运算符,它们也可能被分派到 CPU 执行。