首页 Paddle框架 帖子详情
如何自定义权重
收藏
快速回复
Paddle框架 问答深度学习炼丹技巧 1675 13
如何自定义权重
收藏
快速回复
Paddle框架 问答深度学习炼丹技巧 1675 13

我在一个batch的时候,得到一个loss,以及模型A,现在用loss计算出新的模型A参数暂时不更新,把新参数放进模型B,然后再计算loss,当然后续还有操作,然后得到一个新的loss,然后用这个loss再去更新模型A,我现在不知道paddle如何实现上面的这个中间参数如何取和放,可以参考哪些API来实现,或者案例

0
收藏
回复
全部评论(13)
时间顺序
HolliZhao
#2 回复于2020-05
0
回复
e
euphraticas
#3 回复于2020-05

谢谢,可能我没说清楚,是再一个epoch里面完成上述操作,这个API好像是模型的持久化,跟我的问题还是有些区别

0
回复
e
euphraticas
#4 回复于2020-05

模型A与模型B基本一致,只是有一层参数有区别

0
回复
HolliZhao
#5 回复于2020-05

是模型A与模型B 是串联在一起训练吗? 看看这个能否帮到你:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_guides/low_level/program.html#name

0
回复
thinc
#6 回复于2020-05

你是要做什么任务呢?

0
回复
e
euphraticas
#7 回复于2020-05

好的,谢谢,我试试

0
回复
e
euphraticas
#8 回复于2020-05
thinc #6
你是要做什么任务呢?

文本分类

0
回复
thinc
#9 回复于2020-05
文本分类

你的意思是指网络中权值共享这一机制吗?比如前几层用网络a训练,中间用网络b训练,后面用网络c训练。

0
回复
e
euphraticas
#10 回复于2020-05
thinc #9
你的意思是指网络中权值共享这一机制吗?比如前几层用网络a训练,中间用网络b训练,后面用网络c训练。

可以这么理解

0
回复
thinc
#11 回复于2020-05
可以这么理解

你可以把最后的所有层用concat连接一下就好,如果是按照通道连接的话axis=1即可

layer1 = fluid.layers.conv2d()

layer2 = fluid.layers.conv2d()

out = fluid.layers.concat([layer1, layer2], axis=1) 

API文档:https://www.paddlepaddle.org.cn/documentation/docs/zh/api_cn/layers_cn/concat_cn.html#concat

0
回复
何必固執丶
#12 回复于2020-05

虽然自己没遇到这个问题,但是看看大佬的  以备不时之需。说不定哪天就遇到了

0
回复
r
rose20135188
#13 回复于2020-05

收藏学习。

0
回复
e
euphraticas
#14 回复于2020-05

按照第十行算梯度的时候,梯度为空数组

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户