我有一个对象有不同的方法,比如SGD
、Adam
、Adamax
,我可以这样调用它:
optim.SGD(parameters, lr, momentum=0.9)
optim.Adam(parameters, lr, momentum=0.9)
optim.Adamax(parameters, lr, momentum=0.9)
我怎么能称之为循环中的一切。我有以下算法:
models = [..., ..., ...]
lrs = [..., ..., ...]
criterions = [..., ..., ...]
for model in models:
for criterion in criterions:
for lr in lrs:
optimizer = optim.SGD(model.params(), lr=lr, momentum=0.9)
train(model=model,
criterion=criterion,
optimizer=optimizer,
lr=lr)
我怎么能用我提到的所有算法来调用train()
(optim.SGD
,optim.Adam
,optim.Adamax
)?你知道吗
可以使用^{} 获取每个优化器的
train
属性,然后调用它:还有^{} ,它做了完全相同的事情,只是稍微改变了语法:
直接枚举优化函数
相关问题 更多 >
编程相关推荐