Open BenjaminLiu1003 opened 3 years ago
Seems rknn didn't support slice operation for Focus. You may have to replace the first layer of Focus with a conv 3x3-stride-2 layer and finetune your model first.
你好,你解决了吗,我也是使用rknn,转换失败了,用pytorch直接转和先转onnx再转pytorch都失败了,似乎要设置opeset=9才能转,但是好像只支持opset=10,11。
没有
请问一下
Seems rknn didn't support slice operation for Focus. You may have to replace the first layer of Focus with a conv 3x3-stride-2 layer and finetune your model first.
rknn现在只支持opset=9,请问一下可以实现opset=9的onnx转换么?谢谢。
我设置opset=9会报错,onnx直接不能转换,设置opset=10或11,可以成功转换为rknn,但是模型与原始模型不一致,差异太大,而且转换过程中似乎提示了错误信息,但是也能成功转换。
我用的rknn1.7.1版本
pytorch直接转rknn,会提示有几个op不支持,但是先转onnx再转rknn,就没有提示op不支持的问题,所以目前只能通过onnx转换rknn。我是直接用官方的pth模型和onnx来转换的,没有自己训练模型,因为rknn目前只支持torch1.6,所以我怀疑是torch版本太高,所以我想自己用torch1.6训练模型,然后再设置opset=9来转换,看是否可以成功。
pytorch直接转rknn,会提示有几个op不支持,但是先转onnx再转rknn,就没有提示op不支持的问题,所以目前只能通过onnx转换rknn。我是直接用官方的pth模型和onnx来转换的,没有自己训练模型,因为rknn目前只支持torch1.6,所以我怀疑是torch版本太高,所以我想自己用torch1.6训练模型,然后再设置opset=9来转换,看是否可以成功。
重新训练的话,我有yolov5的,而且太浪费时间了,就是想直接用它的,为什么瑞芯微告诉我的是最新的是1.6.1?你用的什么板子?
pytorch直接转rknn,会提示有几个op不支持,但是先转onnx再转rknn,就没有提示op不支持的问题,所以目前只能通过onnx转换rknn。我是直接用官方的pth模型和onnx来转换的,没有自己训练模型,因为rknn目前只支持torch1.6,所以我怀疑是torch版本太高,所以我想自己用torch1.6训练模型,然后再设置opset=9来转换,看是否可以成功。
重新训练的话,我有yolov5的,而且太浪费时间了,就是想直接用它的,为什么瑞芯微告诉我的是最新的是1.6.1?你用的什么板子?
你这个错误是rk1.6出现的,我也出现过,使用rk1.7就没有错误了,这是瑞芯微内部提供给我们的preview版本,增加了一些op的支持。还是想转换yolox,毕竟速度比yolov5快。你有尝试转换nanodet吗?
pytorch直接转rknn,会提示有几个op不支持,但是先转onnx再转rknn,就没有提示op不支持的问题,所以目前只能通过onnx转换rknn。我是直接用官方的pth模型和onnx来转换的,没有自己训练模型,因为rknn目前只支持torch1.6,所以我怀疑是torch版本太高,所以我想自己用torch1.6训练模型,然后再设置opset=9来转换,看是否可以成功。
重新训练的话,我有yolov5的,而且太浪费时间了,就是想直接用它的,为什么瑞芯微告诉我的是最新的是1.6.1?你用的什么板子?
你这个错误是rk1.6出现的,我也出现过,使用rk1.7就没有错误了,这是瑞芯微内部提供给我们的preview版本,增加了一些op的支持。还是想转换yolox,毕竟速度比yolov5快。你有尝试转换nanodet吗?
nanodet没用过,你在RK什么板子试的,要不加个好友交流一下吧。
@ymw123 我们也没有说比v5快啊。。。不过我们也注意到了v5的一些op兼容性一般。后续会有用conv换掉Focus的模型放出来。
@ymw123 我们也没有说比v5快啊。。。不过我们也注意到了v5的一些op兼容性一般。后续会有用conv换掉Focus的模型放出来。
好的,这个太棒了,谢谢大佬。
@ymw123 我们也没有说比v5快啊。。。不过我们也注意到了v5的一些op兼容性一般。后续会有用conv换掉Focus的模型放出来。
我是推测的边缘设备上比v5快,因为在pc上比v5快一点
pytorch直接转rknn,会提示有几个op不支持,但是先转onnx再转rknn,就没有提示op不支持的问题,所以目前只能通过onnx转换rknn。我是直接用官方的pth模型和onnx来转换的,没有自己训练模型,因为rknn目前只支持torch1.6,所以我怀疑是torch版本太高,所以我想自己用torch1.6训练模型,然后再设置opset=9来转换,看是否可以成功。
重新训练的话,我有yolov5的,而且太浪费时间了,就是想直接用它的,为什么瑞芯微告诉我的是最新的是1.6.1?你用的什么板子?
你这个错误是rk1.6出现的,我也出现过,使用rk1.7就没有错误了,这是瑞芯微内部提供给我们的preview版本,增加了一些op的支持。还是想转换yolox,毕竟速度比yolov5快。你有尝试转换nanodet吗?
nanodet没用过,你在RK什么板子试的,要不加个好友交流一下吧。
我使用的是rk1806
这是使用rk1.7.0转onnx成功的提示,只是转换后的rknn模型输出差异太大,中间有些层转换出错了。 使用pt模型直接转rknn会提示['aten::expand', 'aten::copy', 'aten::full', 'aten::mul', 'aten::meshgrid']这些op不支持。
@BenjaminLiu1003 github好像不可以私信
@ymw123 我用了1.7.0的rknn-toolkit还是连转换完成都不行啊。。。
@BenjaminLiu1003 weixin:YMWO_o
我转成功了
推理时间300ms左右
如题,在使用onnx验证之后(已经指定opset=10),想转成瑞芯微使用的rknn格式文件,报错如下,麻烦帮忙看下,谢谢了!