潍坊网站制作江门公司,做网站百度还是阿里巴巴好,在微信上做彩票网站吗,长春 网站 设计基于Python的模型评估
perf_debug#xff1a;进行性能评估时是否开启debug 模式。在 debug 模式下#xff0c;可以获取到每一层的运行时间#xff0c;否则只能获取模型运行的总时间。默认值为 False。 eval_mem: 是否进入内存评估模式。进入内存评估模式后#xff0c;可以…基于Python的模型评估
perf_debug进行性能评估时是否开启debug 模式。在 debug 模式下可以获取到每一层的运行时间否则只能获取模型运行的总时间。默认值为 False。 eval_mem: 是否进入内存评估模式。进入内存评估模式后可以调用 eval_memory 接口获取模型运行时的内存使用情况。默认值为 False。
性能评估的例子
读取yolov8n_relu.rknn模型并连RK3566开发板进行性能评估
from rknn.api import RKNNif __name__ __main__:rknn RKNN()# 使用Load_rknn接口导入rknn模型rknn.load_rknn(path ./yolov8n_relu.rknn)# 使用init_runtime接口初始化运行时环境rknn.init_runtime(target RK3566,perf_debug True, # perf_debug是否开启性能评估的debug模式eval_mem False, # eval_mem是否开启内存评估模式)# 使用eval_perf接口进行性能评估rknn.eval_perf(inputs [bus.jpg], # inputs要测试的图片data_format None, # data_format要推理的数据模式使用默认值is_print True, # is_print是否打印性能信息)rknn.release()内存评估的例子
读取yolov8n_relu.rknn模型并连RK3566开发板进行内存评估
from rknn.api import RKNNif __name__ __main__:rknn RKNN()# 使用Load_rknn接口导入rknn模型rknn.load_rknn(path ./yolov8n_relu.rknn)# 使用init_runtime接口初始化运行时环境rknn.init_runtime(target RK3566,perf_debug False, # perf_debug是否开启性能评估的debug模式eval_mem True, # eval_mem是否开启内存评估模式)# 使用eval_memory接口进行内存评估rknn.eval_memory(is_print True, # is_print是否打印性能信息)rknn.release()备注 基于Python的性能评估和内存评估可以同时运行rknn.init_runtime中的perf_debug和eval_mem都设置为True并调用 rknn.eval_perf函数和rknn.eval_memory函数
基于C的模型评估
查询网络各层运行时间 如果在rknn_init函数调用时有设置RKNN_FLAG_COLLECT_PERF_MASK标志那么 在执行rknn_run完成之后可以传入RKNN_QUERY_PERF_DETAIL命令来查询网络每层 运行时间。其中需要先创建rknn_perf_detail结构体对象。
ret rknn_init(ctx, model_data, model_data_size, RKNN_FLAG_COLLECT_PERF_MASK, NULL);//如果想打印逐层耗时将第四个参数设为RKNN_FLAG_COLLECT_PERF_MASK...// 查询模型逐层耗时单位是微妙
rknn_perf_detail perf_detail;
ret rknn_query(ctx,RKNN_QUERY_PERF_DETAIL,perf_detail,sizeof(perf_detail));
printf(--模型逐层耗时:%s\n,perf_detail.perf_data);参考链接 https://www.bilibili.com/video/BV1Kj411D78q?p8 https://www.easy-eai.com/document_details/3/183