本文整理汇总了Python中torch.nn.functional.mse_loss方法的典型用法代码示例。如果您正苦于以下问题:Python functional.mse_loss方法的具体用法?Python functional.mse_loss怎么用?Python functional.mse_loss使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类torch.nn.functional
的用法示例。
在下文中一共展示了functional.mse_loss方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def forward(self, pred, target, weight=None, avg_factor=None):
"""Forward function of loss.
Args:
pred (torch.Tensor): The prediction.
target (torch.Tensor): The learning target of the prediction.
weight (torch.Tensor, optional): Weight of the loss for each
prediction. Defaults to None.
avg_factor (int, optional): Average factor that is used to average
the loss. Defaults to None.
Returns:
torch.Tensor: The calculated loss
"""
loss = self.loss_weight * mse_loss(
pred,
target,
weight,
reduction=self.reduction,
avg_factor=avg_factor)
return loss
示例2: eval_loss
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def eval_loss(model, loader, device, regression=False, show_progress=False):
model.eval()
loss = 0
if show_progress:
print('Testing begins...')
pbar = tqdm(loader)
else:
pbar = loader
for data in pbar:
data = data.to(device)
with torch.no_grad():
out = model(data)
if regression:
loss += F.mse_loss(out, data.y.view(-1), reduction='sum').item()
else:
loss += F.nll_loss(out, data.y.view(-1), reduction='sum').item()
torch.cuda.empty_cache()
return loss / len(loader.dataset)
示例3: train
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def train(model, optimizer, loader, device, regression=False, ARR=0):
model.train()
total_loss = 0
for data in loader:
optimizer.zero_grad()
data = data.to(device)
out = model(data)
if regression:
loss = F.mse_loss(out, data.y.view(-1))
else:
loss = F.nll_loss(out, data.y.view(-1))
if ARR != 0:
for gconv in model.convs:
w = torch.matmul(
gconv.att,
gconv.basis.view(gconv.num_bases, -1)
).view(gconv.num_relations, gconv.in_channels, gconv.out_channels)
reg_loss = torch.sum((w[1:, :, :] - w[:-1, :, :])**2)
loss += ARR * reg_loss
loss.backward()
total_loss += loss.item() * num_graphs(data)
optimizer.step()
torch.cuda.empty_cache()
return total_loss / len(loader.dataset)
示例4: update_critic
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def update_critic(self, obs, action, reward, next_obs, not_done, L, step):
with torch.no_grad():
_, policy_action, log_pi, _ = self.actor(next_obs)
target_Q1, target_Q2 = self.critic_target(next_obs, policy_action)
target_V = torch.min(target_Q1,
target_Q2) - self.alpha.detach() * log_pi
target_Q = reward + (not_done * self.discount * target_V)
# get current Q estimates
current_Q1, current_Q2 = self.critic(obs, action)
critic_loss = F.mse_loss(current_Q1,
target_Q) + F.mse_loss(current_Q2, target_Q)
L.log('train_critic/loss', critic_loss, step)
# Optimize the critic
self.critic_optimizer.zero_grad()
critic_loss.backward()
self.critic_optimizer.step()
self.critic.log(L, step)
示例5: update_decoder
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def update_decoder(self, obs, target_obs, L, step):
h = self.critic.encoder(obs)
if target_obs.dim() == 4:
# preprocess images to be in [-0.5, 0.5] range
target_obs = utils.preprocess_obs(target_obs)
rec_obs = self.decoder(h)
rec_loss = F.mse_loss(target_obs, rec_obs)
# add L2 penalty on latent representation
# see https://arxiv.org/pdf/1903.12436.pdf
latent_loss = (0.5 * h.pow(2).sum(1)).mean()
loss = rec_loss + self.decoder_latent_lambda * latent_loss
self.encoder_optimizer.zero_grad()
self.decoder_optimizer.zero_grad()
loss.backward()
self.encoder_optimizer.step()
self.decoder_optimizer.step()
L.log('train_ae/ae_loss', loss, step)
self.decoder.log(L, step, log_freq=LOG_FREQ)
示例6: test
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def test(epoch,net,dataset,cuda,msg="Evaluating"):
net.eval()
epoch_loss = 0
ok_all = 0
pred = 0
skipped = 0
mean_mse = 0
mean_rmse = 0
data_tensors = new_tensors(6,cuda,types={0:torch.LongTensor,1:torch.LongTensor,2:torch.LongTensor,3:torch.LongTensor,4:torch.LongTensor,5:torch.LongTensor}) #data-tensors
with tqdm(total=len(dataset),desc=msg) as pbar:
for iteration, (batch_t,r_t,u_t,i_t,sent_order,ui_indexs,ls,lr,review) in enumerate(dataset):
data = tuple2var(data_tensors,(batch_t,r_t,u_t,i_t,sent_order,ui_indexs))
out = net(data[0],data[2],data[3],data[4],data[5],ls,lr)
ok,per,val_i = accuracy(out,data[1])
mseloss = F.mse_loss(val_i,data[1].float())
mean_rmse += math.sqrt(mseloss.data[0])
mean_mse += mseloss.data[0]
ok_all += per.data[0]
pred+=1
pbar.update(1)
pbar.set_postfix({"acc":ok_all/pred, "skipped":skipped,"mseloss":mean_mse/(iteration+1),"rmseloss":mean_rmse/(iteration+1)})
print("===> {} Complete: {}% accuracy".format(msg,ok_all/pred))
示例7: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(
self,
name,
input_module=IdentityModule(),
middle_module=IdentityModule(),
head_module=IdentityModule(),
output_hat_func=(lambda X: X["data"]),
# Note: no sigmoid (target labels can be in any range)
loss_hat_func=(lambda X, Y: F.mse_loss(X["data"].view(-1), Y.view(-1))),
loss_multiplier=1.0,
scorer=Scorer(standard_metrics=[]),
) -> None:
super(RegressionTask, self).__init__(
name,
input_module,
middle_module,
head_module,
output_hat_func,
loss_hat_func,
loss_multiplier,
scorer,
)
示例8: forward
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def forward(self, x, y = None):
h1 = self.h1_weights(x)
h1 = F.relu(h1)
if self.with_dropout:
h1 = F.dropout(h1, training=self.training)
pred = self.h2_weights(h1)[:, 0]
if y is not None:
y = Variable(y)
mse = F.mse_loss(pred, y)
mae = F.l1_loss(pred, y)
mae = mae.cpu().detach()
return pred, mae, mse
else:
return pred
示例9: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, optimizer, device, config):
print('PI-v1')
self.model = model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.cons_loss = mse_with_softmax #F.mse_loss
self.save_dir = '{}-{}_{}-{}_{}'.format(config.arch, config.model,
config.dataset, config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.usp_weight = config.usp_weight
self.rampup = exp_rampup(config.weight_rampup)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.device = device
self.epoch = 0
示例10: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, optimizer, device, config):
print('Tempens-v2 with iteration pseudo labels')
self.model = model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.mse_loss = mse_with_softmax # F.mse_loss
self.save_dir = '{}_{}-{}_{}'.format(config.arch, config.dataset,
config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.device = device
self.epoch = 0
self.start_epoch = 0
self.usp_weight = config.usp_weight
self.ema_decay = config.ema_decay
self.rampup = exp_rampup(config.rampup_length)
示例11: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, ema_model, optimizer, device, config):
print("MeanTeacher-v2")
self.model = model
self.ema_model = ema_model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.cons_loss = mse_with_softmax #F.mse_loss
self.save_dir = '{}-{}_{}-{}_{}'.format(config.arch, config.model,
config.dataset, config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.usp_weight = config.usp_weight
self.ema_decay = config.ema_decay
self.rampup = exp_rampup(config.weight_rampup)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.device = device
self.global_step = 0
self.epoch = 0
示例12: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, optimizer, device, config):
print('Tempens-v1 with epoch pseudo labels')
self.model = model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.mse_loss = mse_with_softmax # F.mse_loss
self.save_dir = '{}-{}_{}-{}_{}'.format(config.arch, config.model,
config.dataset, config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.device = device
self.usp_weight = config.usp_weight
self.ema_decay = config.ema_decay
self.rampup = exp_rampup(config.rampup_length)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.epoch = 0
self.start_epoch = 0
示例13: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, optimizer, device, config):
print('Tempens-v2 with epoch pseudo labels')
self.model = model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.mse_loss = mse_with_softmax # F.mse_loss
self.save_dir = '{}-{}_{}-{}_{}'.format(config.arch, config.model,
config.dataset, config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.device = device
self.usp_weight = config.usp_weight
self.ema_decay = config.ema_decay
self.rampup = exp_rampup(config.rampup_length)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.epoch = 0
self.start_epoch = 0
示例14: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, optimizer, device, config):
print('PI-v2')
self.model = model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.cons_loss = mse_with_softmax #F.mse_loss
self.save_dir = '{}-{}_{}-{}_{}'.format(config.arch, config.model,
config.dataset, config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.usp_weight = config.usp_weight
self.rampup = exp_rampup(config.weight_rampup)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.device = device
self.epoch = 0
示例15: __init__
# 需要导入模块: from torch.nn import functional [as 别名]
# 或者: from torch.nn.functional import mse_loss [as 别名]
def __init__(self, model, ema_model, optimizer, device, config):
print("MeanTeacher-v1")
self.model = model
self.ema_model = ema_model
self.optimizer = optimizer
self.ce_loss = torch.nn.CrossEntropyLoss(ignore_index=NO_LABEL)
self.cons_loss = mse_with_softmax #F.mse_loss
self.save_dir = '{}-{}_{}-{}_{}'.format(config.arch, config.model,
config.dataset, config.num_labels,
datetime.datetime.now().strftime("%Y-%m-%d-%H-%M"))
self.save_dir = os.path.join(config.save_dir, self.save_dir)
self.usp_weight = config.usp_weight
self.ema_decay = config.ema_decay
self.rampup = exp_rampup(config.weight_rampup)
self.save_freq = config.save_freq
self.print_freq = config.print_freq
self.device = device
self.global_step = 0
self.epoch = 0