用Pytorch解决问题(一)- 优化器

需求:现有模型A,优化器A(其初始化的待优化模型参数是A),又有一新的模型B,想使用优化器A的参数来更新其中的参数

实现:下述为不work的一种实现(参考chat老师的代码,但确实不work):

# 已有条件
net = ResNet18(100)
optimizer = optim.SGD(net.parameters(), lr=args.lr,momentum=args.momentum,weight_decay=args.weight_decay)
classifier = torch.nn.linear(512,100)
 
# 下述准备使用copy旧优化器
linear_optimizer = copy.deepcopy(optimizer)
linear_optimizer.params = classifier.parameters()
linear_optimizer.zero_grad()
 
# 手动赋值梯度
classifier.weight.grad = grads[0].data
classifier.bias.grad = grads[1].data
 
linear_optimizer.step()

 先把问题屯着,看看有什么办法能解决

posted @   JerryKid  阅读(22)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示