💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》
欢迎学习RKNN系列相关文章,从模型转换、精度分析,评估到部署,推荐好资源:
一、Ubuntu系统上安装rknn-toolkit
二、使用rknn-toolkit将Pytorch模型转为RKNN模型
三、RKNN模型的评估和推理测试
四、RKNN模型量化精度分析及混合量化提高精度
五、RKNN模型性能评估和内存评估
六、rknn-toolkit-lite2部署RKNN模型到开发板上(python版)
七、RKNN C API开发板上落地部署RKNN模型
八、RKNN零拷贝API开发板落地部署RKNN模型
目录
一、源码包获取
配套教程提供的RKNN模型在源码包中,获取源码包的方法为文章末扫码到公众号中回复关键字:RKNN模型性能和内存评估。获取下载链接。
下载解压后的样子如下:
二、模型性能评估
2.1 模型性能评估API说明
RKNN模型性能的评估主要调用的接口是rknn.eval_perf(),关于此API的说明见下:
2.2 模型性能评估流程
具体的模型性能评估流程如下:
下面是直接读入RKNN模型:
2.3 代码
代码见下:
from rknn.api import RKNN
if __name__ == "__main__":
rknn = RKNN()
# 使用load_rknn接口导入RKNN模型
rknn.load_rknn(path="./resnet18.rknn")
# 使用init_runtime接口初始化运行环境
rknn.init_runtime(
# target = None,
target="rk3588",
perf_debug = True, # 表示是否开启性能评估的Debug模式
eval_mem = False, # 表示是否是内存评估
)
# 使用eval_perf接口进行性能评估
rknn.eval_perf(
inputs = ["space_shuttle_224.jpg"], # 表示要测试的图片
data_format=None, # 表示要推理的数据模式
is_print = True, # 表示使能打印性能信息
)
rknn.release()
2.4 输出结果
运行上面脚步,输出结果见下:
下面是输出的各项参数:
三、模型内存评估
3.1 模型内存评估API说明
RKNN模型内存的评估主要调用的接口是rknn.eval_memory(),关于此API的说明见下:
3.2 模型内存评估流程
模型内存评估流程图见下:
3.3 代码
完整代码见下:
from rknn.api import RKNN
if __name__ == "__main__":
rknn = RKNN()
# 使用load_rknn接口导入RKNN模型
rknn.load_rknn(path="./resnet18.rknn")
# 使用init_runtime接口初始化运行环境
rknn.init_runtime(
# target = None,
target="rk3588",
perf_debug = True, # 表示是否开启性能评估的Debug模式
eval_mem = True, # 表示是否是内存评估
)
# 使用eval_memory接口进行内存评估
rknn.eval_memory(
is_print=True, # 表示使能打印内存评估信息
)
rknn.release()
3.4 模型内存评估结果
运行上面脚本后得到的输出如下:
四、总结
以上就是RKNN模型性能评估和内存评估的API说明,代码和输出结果各参数解析,更多的资料参考官网文档。
感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖
关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!