Toybrick

标题: 转换pytorch模型中的pixshuffle模块及“IndexError“错误 [打印本页]

作者: rlgl    时间: 2020-4-2 16:29
标题: 转换pytorch模型中的pixshuffle模块及“IndexError“错误
本帖最后由 rlgl 于 2020-4-2 16:36 编辑

您好,在转换pytorch模型过程中,我也遇到了“IndexError: list index out of range”错误

环境:ubuntu16.04+python3.6+rknn_toolkit_v1.3.0+pytorch1.2.0+tensorflow1.13.1,在conda中配置的环境,以下为conda list显示的部分包版本

python                    3.6.3                h0ef2715_3    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

torchvision               0.4.0                  py36_cpu  [cpuonly]  pytorch
torchviz                  0.0.1                    pypi_0    pypi
tensorflow                1.13.1          mkl_py36h27d456a_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
tensorflow-base           1.13.1          mkl_py36h7ce6ba3_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
tensorflow-estimator      1.13.0                     py_0    https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
rknn-toolkit              1.3.0                    pypi_0    pypi
pytorch                   1.2.0               py3.6_cpu_0  [cpuonly]  pytorch

首先我可以运行/example/pytorch/resnet18/test.py 示例,输出为






作者: rlgl    时间: 2020-4-2 16:32
在转换alphapose项目[1]中的单人姿态检测模型时(按/example/pytorch/resnet18/test.py代码只修改载入的pytorch模型名字),目前遇到两个问题
1. 代码运行到rknn.load_pytorch时,报"aten::pixel_shuffle"错误,如下图

这个问题应该是rknn目前还不支持pytorch中的pixelshuffle,因为我使用nn.UpsamplingBilnear2d(scator_fatcor=2)+nn.Conv2d(n_in, n_in/4, 3, 1)代替nn.pixelshuffle(2)模块,存为.pt模型文件,再用rknn.load_pytorch成功载入模型

作者: rlgl    时间: 2020-4-2 16:39
rlgl 发表于 2020-4-2 16:32
在转换alphapose项目[1]中的单人姿态检测模型时(按/example/pytorch/resnet18/test.py代码只修改载入的pyt ...

2. 使用1中改变后的模型,代码运行到krnn.build时,报“IndexError: list index out of range”, 错误信息如下


我的问题是
1. rknn目前是否不支持pytorch中的pixleshuffle模块,如果是,有那些解决方案可供选择
2. 错误IndexError: list index out of range的原因可能是什么

ps: github alphapose项目地址https://github.com/MVIG-SJTU/AlphaPose






欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3