首页 Paddle框架 帖子详情
使用backward反传时报错(使用啦预训练模型) 已解决
收藏
快速回复
Paddle框架 问答模型训练 886 2
使用backward反传时报错(使用啦预训练模型) 已解决
收藏
快速回复
Paddle框架 问答模型训练 886 2

 就是我自己的网络可以得出一个A数组, 预训练的VGG可以事先得出一个 B数组,  我让我的A数组经过VGG得到A*数组,通过A*与B之间的误差来调整我自己的网络(类似风格迁移).现在backward报错是空的.各位大佬有何见解?下面是逻辑代码.

#调用预训练网络 VGG16 
pretrain_net = vgg16(pretrained = True)
# 选取前24层 叫做net
# net[0](RGB) 即RGB图像在第0层的输出
net = nn.Sequential(*[ pretrain_net.features[i] for i in range(25)])

#自己训练的网络 Re_net ,可以输出一个 RGB

Re_RGB = Re_net()

#误差函数
l = MSE( net[0](RGB), net[0](Re_RGB))

l.backward #这一步报错

 

2# 回复于2022-01
不能直接操作动态图里面的数据,应该要在行定义变量使用net和re_rgb后面分别加上 .detach(),把这两个数从动态图里拿出来操作。
0
收藏
回复
全部评论(2)
时间顺序
十进制到二进制
#2 回复于2022-01

不能直接操作动态图里面的数据,应该要在行定义变量使用net和re_rgb后面分别加上 .detach(),把这两个数从动态图里拿出来操作。

0
回复
S
Syuhen
#3 回复于2022-01
不能直接操作动态图里面的数据,应该要在行定义变量使用net和re_rgb后面分别加上 .detach(),把这两个数从动态图里拿出来操作。

问题解决了,谢谢大佬!

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