Python /:“Adam”和“int”的操作数类型不受支持

Python /:“Adam”和“int”的操作数类型不受支持,python,optimization,generative-adversarial-network,Python,Optimization,Generative Adversarial Network,我在cnn中使用adam优化器,但在调整学习速率时,我得到了不支持的操作数类型/:“adam”和“int error”,我必须如何解决此错误 我正在使用python 3.5和pytorch 1.1.0 def adjust_learning_rate(optimizer, init_lr, epoch, every): lrd = init_lr / every old_lr = optimizer.param_groups[0]['lr'] #linearly dec

我在cnn中使用adam优化器,但在调整学习速率时,我得到了不支持的操作数类型/:“adam”和“int error”,我必须如何解决此错误

我正在使用python 3.5和pytorch 1.1.0

def adjust_learning_rate(optimizer, init_lr, epoch, every):
    lrd = init_lr / every
    old_lr = optimizer.param_groups[0]['lr']

    #linearly decaying lr
    new_lr = old_lr - lrd
    if new_lr < 0: new_lr = 0
    for param_group in optimizer.param_groups:
        param_group['lr'] = new_lr

TypeError: unsupported operand type(s) for /: 'Adam' and 'int'

调用函数时,未按正确顺序传递参数。具体来说,在您的案例中,优化器Adam应该是第一个参数,而不是第二个参数


如果这是类中的一个方法,则您忘记了自参数。

这是用于优化的

optimizer = optim.Adam(net.parameters(), lr= 0.00001, betas = (0.5, 0.999), weight_decay=0.0000)
这是为了调整学习速度

if epoch >= opt.annealStart:
       adjust_learning_rate(optimizer, epoch, opt.annealEvery)

您是如何调用该函数的?似乎您没有向该函数传递正确的参数。显示用于调用它的代码