用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()
先把问题屯着,看看有什么办法能解决
浙公网安备 33010602011771号