如何拿出Paddle模型中某一层训练好的网络权重?

rsaldnfx  于 2022-04-21  发布在  Java
关注(0)|答案(3)|浏览(290)

如何将 PaddleOCR 中定义的 MobileNet 和 DB 网络单独某一层的训练好的权重 拿出来?

euoag5mw

euoag5mw1#

可以参考https://paddlepaddle.org.cn/documentation/docs/zh/faq/train_cn.html#q-numpyfcw 打印出某层的weight变量对应的tensor值。

具体的print(numpy.array(fluid.global_scope().find_var("weight_name").get_tensor()))

r1wp621o

r1wp621o2#

可以参考https://paddlepaddle.org.cn/documentation/docs/zh/faq/train_cn.html#q-numpyfcw 打印出某层的weight变量对应的tensor值。

具体的print(numpy.array(fluid.global_scope().find_var("weight_name").get_tensor()))

好的,谢谢

mkh04yzy

mkh04yzy3#

@hong19860320
您好,您说的fluid.global_scope().find_var("weight_name").get_tensor())这个函数, 是否是 只适用于训练过程中或者加载checkpoint文件继续训练才能使用的函数?
现在我有训练好的模型文件,其中他包括了model和params两个文件,我在读取文件进行预测的时候,用到上述命令 拿权重值,会报错:'NoneType' object has no attribute 'get_tensor'
这样的问题该如何处理呢,谢谢。

相关问题