只有模型文件,请问如何计算模型参数总量和浮点运算量?
收藏
手头上只有其他人给我的如下文件,只知道它们都是ResNet18在CIFAR-10上训练的,且被切割过:
训练模型的.pdparams和.pdopt文件,可以用paddle.load读取
推理模型的.pdiparams、.pdiparams.info、.pdmodel文件,可以用paddle.jit.load读取
我想使用PaddleSlim的flops函数和model_size函数直接获取它们的浮点运算量和参数总量,但不知道该如何从这些文件构建所谓的Program。请问我该怎么做?
0
收藏
请登录后评论
存储的模型结构 Program 文件的后缀为 .pdmodel ,存储的持久参数变量文件的后缀为 .pdiparams ,同时这里也会将一些变量描述信息存储至文件,文件后缀为 .pdiparams.info
paddle.flops 输入只能是动态图的Layer或者静态图的;
paddle.jit.load只是用于动静转换:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/jit/load_cn.html#cn-api-paddle-jit-load
可以尝试用load_inference_model来加载静态图模型
https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/static/load_inference_model_cn.html
读取后用 paddle.summary api 可以查看参数量,参考文档:https://www.paddlepaddle.org.cn/documentation/docs/zh/api/paddle/summary_cn.html#summary