Open 1072946446 opened 1 month ago
在安卓端运行的onnx模型,转化为ncnn模型并运行后,执行到两个张量相加这一行时突然内存占用从1.4g激增到6g以上,并且app内存异常并退出。
安卓端基于yolov5的模型改编,ncnn版本为最新的20240820
1.模型第18层的定义为 BinaryOp add_0 2 1 6 17 18 2.其中第六层和第17层的打印输出形状均为 2024-10-21 16:24:20.712 26151-26151 AudioNetWork com.tencent.yolov5ncnn I Layer 6 output shape: [48, 256, 3072, 1]和 2024-10-21 16:24:21.489 26151-26151 AudioNetWork com.tencent.yolov5ncnn I Layer 17 output shape: [48, 256, 3072, 1] 3.打印第0-17层任意一层输出时,安卓的profiler观看内存占用一直为1.4g左右,若改为打印第18层输出即 int ret = ex.extract(“18”, out); 则内存占用直接激增至6g以上并且闪退。
@nihui ,怀疑是广播机制导致的?两个相同shape的四维数组相加是如何处理的? 非常感谢
### Tasks
model.zip 模型的params文件
error log | 日志或报错信息 | ログ
在安卓端运行的onnx模型,转化为ncnn模型并运行后,执行到两个张量相加这一行时突然内存占用从1.4g激增到6g以上,并且app内存异常并退出。
context | 编译/运行环境 | バックグラウンド
安卓端基于yolov5的模型改编,ncnn版本为最新的20240820
how to reproduce | 复现步骤 | 再現方法
1.模型第18层的定义为 BinaryOp add_0 2 1 6 17 18 2.其中第六层和第17层的打印输出形状均为 2024-10-21 16:24:20.712 26151-26151 AudioNetWork com.tencent.yolov5ncnn I Layer 6 output shape: [48, 256, 3072, 1]和 2024-10-21 16:24:21.489 26151-26151 AudioNetWork com.tencent.yolov5ncnn I Layer 17 output shape: [48, 256, 3072, 1] 3.打印第0-17层任意一层输出时,安卓的profiler观看内存占用一直为1.4g左右,若改为打印第18层输出即 int ret = ex.extract(“18”, out); 则内存占用直接激增至6g以上并且闪退。
more | 其他 | その他
@nihui ,怀疑是广播机制导致的?两个相同shape的四维数组相加是如何处理的? 非常感谢