本文整理汇总了Python中torch.optim.Adagrad方法的典型用法代码示例。如果您正苦于以下问题:Python optim.Adagrad方法的具体用法?Python optim.Adagrad怎么用?Python optim.Adagrad使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类torch.optim
的用法示例。
在下文中一共展示了optim.Adagrad方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: create_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def create_optimizer(args, optim_params):
if args.optimizer == 'sgd':
return optim.SGD(optim_params, args.lr, momentum=args.momentum,
weight_decay=args.weight_decay)
elif args.optimizer == 'adagrad':
return optim.Adagrad(optim_params, args.lr, weight_decay=args.weight_decay)
elif args.optimizer == 'adam':
return optim.Adam(optim_params, args.lr, betas=(args.beta1, args.beta2),
weight_decay=args.weight_decay)
elif args.optimizer == 'amsgrad':
return optim.Adam(optim_params, args.lr, betas=(args.beta1, args.beta2),
weight_decay=args.weight_decay, amsgrad=True)
elif args.optimizer == 'adabound':
from adabound import AdaBound
return AdaBound(optim_params, args.lr, betas=(args.beta1, args.beta2),
final_lr=args.final_lr, gamma=args.gamma,
weight_decay=args.weight_decay)
else:
assert args.optimizer == 'amsbound'
from adabound import AdaBound
return AdaBound(optim_params, args.lr, betas=(args.beta1, args.beta2),
final_lr=args.final_lr, gamma=args.gamma,
weight_decay=args.weight_decay, amsbound=True)
示例2: build_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def build_optimizer(params, opt):
if opt.optim == 'rmsprop':
return optim.RMSprop(params, opt.learning_rate, opt.optim_alpha, opt.optim_epsilon, weight_decay=opt.weight_decay)
elif opt.optim == 'adagrad':
return optim.Adagrad(params, opt.learning_rate, weight_decay=opt.weight_decay)
elif opt.optim == 'sgd':
return optim.SGD(params, opt.learning_rate, weight_decay=opt.weight_decay)
elif opt.optim == 'sgdm':
return optim.SGD(params, opt.learning_rate, opt.optim_alpha, weight_decay=opt.weight_decay)
elif opt.optim == 'sgdmom':
return optim.SGD(params, opt.learning_rate, opt.optim_alpha, weight_decay=opt.weight_decay, nesterov=True)
elif opt.optim == 'adam':
return optim.Adam(params, opt.learning_rate, (opt.optim_alpha, opt.optim_beta), opt.optim_epsilon, weight_decay=opt.weight_decay)
else:
raise Exception("bad option opt.optim: {}".format(opt.optim))
# batch_size * feat_size -> (batch_size * count) * feat_size
示例3: set_parameters
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def set_parameters(self, params):
self.params = [p for p in params if p.requires_grad]
if self.method == 'sgd':
self.optimizer = optim.SGD(self.params, lr=self.lr)
elif self.method == 'adagrad':
self.optimizer = optim.Adagrad(self.params, lr=self.lr)
for group in self.optimizer.param_groups:
for p in group['params']:
self.optimizer.state[p]['sum'] = self.optimizer\
.state[p]['sum'].fill_(self.adagrad_accum)
elif self.method == 'adadelta':
self.optimizer = optim.Adadelta(self.params, lr=self.lr)
elif self.method == 'adam':
self.optimizer = optim.Adam(self.params, lr=self.lr,
betas=self.betas, eps=1e-9)
else:
raise RuntimeError("Invalid optim method: " + self.method)
示例4: set_train_model
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def set_train_model(self, model):
print("Initializing training model...")
self.model = model
self.trainModel = self.model(config = self)
if self.pretrain_model != None:
self.trainModel.load_state_dict(torch.load(self.pretrain_model))
self.trainModel.cuda()
if self.optimizer != None:
pass
elif self.opt_method == "Adagrad" or self.opt_method == "adagrad":
self.optimizer = optim.Adagrad(self.trainModel.parameters(), lr = self.learning_rate, lr_decay = self.lr_decay, weight_decay = self.weight_decay)
elif self.opt_method == "Adadelta" or self.opt_method == "adadelta":
self.optimizer = optim.Adadelta(self.trainModel.parameters(), lr = self.learning_rate, weight_decay = self.weight_decay)
elif self.opt_method == "Adam" or self.opt_method == "adam":
self.optimizer = optim.Adam(self.trainModel.parameters(), lr = self.learning_rate, weight_decay = self.weight_decay)
else:
self.optimizer = optim.SGD(self.trainModel.parameters(), lr = self.learning_rate, weight_decay = self.weight_decay)
print("Finish initializing")
示例5: build_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def build_optimizer(args, params, weight_decay=0.0):
filter_fn = filter(lambda p : p.requires_grad, params)
if args.opt == 'adam':
optimizer = optim.Adam(filter_fn, lr=args.lr, weight_decay=weight_decay)
elif args.opt == 'sgd':
optimizer = optim.SGD(filter_fn, lr=args.lr, momentum=0.95, weight_decay=weight_decay)
elif args.opt == 'rmsprop':
optimizer = optim.RMSprop(filter_fn, lr=args.lr, weight_decay=weight_decay)
elif args.opt == 'adagrad':
optimizer = optim.Adagrad(filter_fn, lr=args.lr, weight_decay=weight_decay)
if args.opt_scheduler == 'none':
return None, optimizer
elif args.opt_scheduler == 'step':
scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=args.opt_decay_step, gamma=args.opt_decay_rate)
elif args.opt_scheduler == 'cos':
scheduler = optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=args.opt_restart)
return scheduler, optimizer
示例6: setup_train
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def setup_train(self, model_file_path=None):
self.model = Model(model_file_path)
params = list(self.model.encoder.parameters()) + list(self.model.decoder.parameters()) + \
list(self.model.reduce_state.parameters())
initial_lr = config.lr_coverage if config.is_coverage else config.lr
if config.mode == 'MLE':
self.optimizer = Adagrad(params, lr=0.15, initial_accumulator_value=0.1)
else:
self.optimizer = Adam(params, lr=initial_lr)
start_iter, start_loss = 0, 0
if model_file_path is not None:
state = torch.load(model_file_path, map_location= lambda storage, location: storage)
start_iter = state['iter']
start_loss = state['current_loss']
return start_iter, start_loss
示例7: set_parameters
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def set_parameters(self, params):
""" ? """
self.params = []
self.sparse_params = []
for k, p in params:
if p.requires_grad:
if self.method != 'sparseadam' or "embed" not in k:
self.params.append(p)
else:
self.sparse_params.append(p)
if self.method == 'sgd':
self.optimizer = optim.SGD(self.params, lr=self.learning_rate)
elif self.method == 'adagrad':
self.optimizer = optim.Adagrad(self.params, lr=self.learning_rate)
for group in self.optimizer.param_groups:
for p in group['params']:
self.optimizer.state[p]['sum'] = self.optimizer\
.state[p]['sum'].fill_(self.adagrad_accum)
elif self.method == 'adadelta':
self.optimizer = optim.Adadelta(self.params, lr=self.learning_rate)
elif self.method == 'adam':
self.optimizer = optim.Adam(self.params, lr=self.learning_rate,
betas=self.betas, eps=1e-9)
else:
raise RuntimeError("Invalid optim method: " + self.method)
示例8: set_model
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def set_model(self, model):
self.model = model
self.trainModel = self.model(config=self)
self.trainModel.cuda()
if self.optimizer is not None:
pass
elif self.opt_method == "Adagrad" or self.opt_method == "adagrad":
self.optimizer = optim.Adagrad(self.trainModel.parameters(), lr=self.alpha,
lr_decay=self.lr_decay, weight_decay=self.weight_decay)
elif self.opt_method == "Adadelta" or self.opt_method == "adadelta":
self.optimizer = optim.Adadelta(
self.trainModel.parameters(), lr=self.alpha)
elif self.opt_method == "Adam" or self.opt_method == "adam":
self.optimizer = optim.Adam(
self.trainModel.parameters(), lr=self.alpha)
else:
self.optimizer = optim.SGD(
self.trainModel.parameters(), lr=self.alpha)
示例9: create_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def create_optimizer(parameters, opt):
lr = opt.learning_rate
# default learning rates:
# sgd - 0.5, adagrad - 0.01, adadelta - 1, adam - 0.001, adamax - 0.002, asgd - 0.01, rmsprop - 0.01, rprop - 0.01
optim_method = opt.optim_method.casefold()
if optim_method == 'sgd':
optimizer = optim.SGD(parameters, lr=lr if lr else 0.5, weight_decay=opt.weight_decay)
elif optim_method == 'adagrad':
optimizer = optim.Adagrad(parameters, lr=lr if lr else 0.01, weight_decay=opt.weight_decay)
elif optim_method == 'adadelta':
optimizer = optim.Adadelta(parameters, lr=lr if lr else 1, weight_decay=opt.weight_decay)
elif optim_method == 'adam':
optimizer = optim.Adam(parameters, lr=lr if lr else 0.001, weight_decay=opt.weight_decay)
elif optim_method == 'adamax':
optimizer = optim.Adamax(parameters, lr=lr if lr else 0.002, weight_decay=opt.weight_decay)
elif optim_method == 'asgd':
optimizer = optim.ASGD(parameters, lr=lr if lr else 0.01, t0=5000, weight_decay=opt.weight_decay)
elif optim_method == 'rmsprop':
optimizer = optim.RMSprop(parameters, lr=lr if lr else 0.01, weight_decay=opt.weight_decay)
elif optim_method == 'rprop':
optimizer = optim.Rprop(parameters, lr=lr if lr else 0.01)
else:
raise RuntimeError("Invalid optim method: " + opt.optim_method)
return optimizer
示例10: setup_train
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def setup_train(self, model_file_path=None):
self.model = Model(model_file_path)
params = list(self.model.encoder.parameters()) + list(self.model.decoder.parameters()) + \
list(self.model.reduce_state.parameters())
initial_lr = config.lr_coverage if config.is_coverage else config.lr
self.optimizer = Adagrad(params, lr=initial_lr, initial_accumulator_value=config.adagrad_init_acc)
start_iter, start_loss = 0, 0
if model_file_path is not None:
state = torch.load(model_file_path, map_location= lambda storage, location: storage)
start_iter = state['iter']
start_loss = state['current_loss']
if not config.is_coverage:
self.optimizer.load_state_dict(state['optimizer'])
if use_cuda:
for state in self.optimizer.state.values():
for k, v in state.items():
if torch.is_tensor(v):
state[k] = v.cuda()
return start_iter, start_loss
示例11: build_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def build_optimizer(params, opt):
if opt.optim == 'rmsprop':
return optim.RMSprop(params, opt.learning_rate, opt.optim_alpha, opt.optim_epsilon, weight_decay=opt.weight_decay)
elif opt.optim == 'adagrad':
return optim.Adagrad(params, opt.learning_rate, weight_decay=opt.weight_decay)
elif opt.optim == 'sgd':
return optim.SGD(params, opt.learning_rate, weight_decay=opt.weight_decay)
elif opt.optim == 'sgdm':
return optim.SGD(params, opt.learning_rate, opt.optim_alpha, weight_decay=opt.weight_decay)
elif opt.optim == 'sgdmom':
return optim.SGD(params, opt.learning_rate, opt.optim_alpha, weight_decay=opt.weight_decay, nesterov=True)
elif opt.optim == 'adam':
return optim.Adam(params, opt.learning_rate, (opt.optim_alpha, opt.optim_beta), opt.optim_epsilon, weight_decay=opt.weight_decay)
elif opt.optim == 'adamw':
return optim.AdamW(params, opt.learning_rate, (opt.optim_alpha, opt.optim_beta), opt.optim_epsilon, weight_decay=opt.weight_decay)
else:
raise Exception("bad option opt.optim: {}".format(opt.optim))
示例12: set_model
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def set_model(self, model):
self.model = model
self.trainModel = self.model(config=self)
if self.use_cuda:
self.trainModel = self.trainModel.cuda()
if self.optimizer is not None:
pass
elif self.opt_method == "Adagrad" or self.opt_method == "adagrad":
self.optimizer = optim.Adagrad(self.trainModel.parameters(), lr=self.alpha,lr_decay=self.lr_decay,weight_decay=self.weight_decay)
elif self.opt_method == "Adadelta" or self.opt_method == "adadelta":
self.optimizer = optim.Adadelta(self.trainModel.parameters(), lr=self.alpha)
elif self.opt_method == "Adam" or self.opt_method == "adam":
self.optimizer = optim.Adam(self.trainModel.parameters(), lr=self.alpha)
else:
self.optimizer = optim.SGD(self.trainModel.parameters(), lr=self.alpha)
示例13: make_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def make_optimizer(config, model):
mode = config['mode']
config = config['aspect_' + mode + '_model'][config['aspect_' + mode + '_model']['type']]
lr = config['learning_rate']
weight_decay = config['weight_decay']
opt = {
'sgd': optim.SGD,
'adadelta': optim.Adadelta,
'adam': optim.Adam,
'adamax': optim.Adamax,
'adagrad': optim.Adagrad,
'asgd': optim.ASGD,
'rmsprop': optim.RMSprop,
'adabound': adabound.AdaBound
}
if 'momentum' in config:
optimizer = opt[config['optimizer']](model.parameters(), lr=lr, weight_decay=weight_decay, momentum=config['momentum'])
else:
optimizer = opt[config['optimizer']](model.parameters(), lr=lr, weight_decay=weight_decay)
return optimizer
示例14: create_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def create_optimizer(args, model_params):
if args.optim == 'sgd':
return optim.SGD(model_params, args.lr, momentum=args.momentum,
weight_decay=args.weight_decay)
elif args.optim == 'adagrad':
return optim.Adagrad(model_params, args.lr, weight_decay=args.weight_decay)
elif args.optim == 'adam':
return optim.Adam(model_params, args.lr, betas=(args.beta1, args.beta2),
weight_decay=args.weight_decay)
elif args.optim == 'amsgrad':
return optim.Adam(model_params, args.lr, betas=(args.beta1, args.beta2),
weight_decay=args.weight_decay, amsgrad=True)
elif args.optim == 'adabound':
return AdaBound(model_params, args.lr, betas=(args.beta1, args.beta2),
final_lr=args.final_lr, gamma=args.gamma,
weight_decay=args.weight_decay)
else:
assert args.optim == 'amsbound'
return AdaBound(model_params, args.lr, betas=(args.beta1, args.beta2),
final_lr=args.final_lr, gamma=args.gamma,
weight_decay=args.weight_decay, amsbound=True)
示例15: get_optimizer
# 需要导入模块: from torch import optim [as 别名]
# 或者: from torch.optim import Adagrad [as 别名]
def get_optimizer(model, lr_method, lr_rate):
"""
parse optimization method parameters, and initialize optimizer function
"""
lr_method_name = lr_method
# initialize optimizer function
if lr_method_name == 'sgd':
optimizer = optim.SGD(model.parameters(), lr=lr_rate, momentum=0.9)
# scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=10, gamma=0.1)
elif lr_method_name == 'adagrad':
optimizer = optim.Adagrad(model.parameters(), lr=lr_rate)
# scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=7, gamma=0.1)
elif lr_method_name == 'adam':
optimizer = optim.Adam(model.parameters(), lr=lr_rate)
# scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=10, gamma=0.001)
else:
raise Exception('unknown optimization method.')
return optimizer # , scheduler