Frank J
Frank J
首先遇到第一大问题,oneflow 编译前端传递的计算图失败了 ``` [2024-02-29 03:15:49,828] torch._dynamo.convert_frame: [WARNING] WON'T CONVERT forward /data/home/jiangdonghua/miniconda3/envs/oneflow-dev-gcc9/lib/python3.9/site-packages/torchvision/models/detection/backbone_utils.py line 56 [2024-02-29 03:15:49,828] torch._dynamo.convert_frame: [WARNING] due to: [2024-02-29 03:15:49,828] torch._dynamo.convert_frame: [WARNING] Traceback (most recent call last): [2024-02-29 03:15:49,828]...
然后出现了另外一个问题,在编译完成后,模型推理过程中,产生了 conv TypeError 如下: ``` TypeError: conv2d() received an invalid combination of arguments - got (Tensor, Parameter, Parameter, tuple, tuple, tuple, int), but expected one of: * (Tensor input, Tensor...
经过调试发现,原来是 oneflow backend 在处理输出时,将 oneflow.Tensor 转为 torch.Tensor 的过程中漏判了输出为 flow._oneflow_internal.TensorTuple 的情况,导致将 oneflow.Tensor 传入 torch 执行导致了错误。通过添加对 flow._oneflow_internal.TensorTuple 的处理解决了这个问题。现在 faster rcnn 在关闭动态 shape 的情况下能跑通了。
> 这个报出的错误看起来和产生的原因差的有点远,后面在提PR修这个问题的时候,check一下如果不是tensor/tuple/将要增加的dict类型的话就显式抛出一个异常以便于完善 好的,我给添加一下。