Python torch.nn.BCELoss() Examples
The following are 30
code examples of torch.nn.BCELoss().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
torch.nn
, or try the search function
.
Example #1
Source File: model.py From SCNN_Pytorch with MIT License | 6 votes |
def __init__( self, input_size, ms_ks=9, pretrained=True ): """ Argument ms_ks: kernel size in message passing conv """ super(SCNN, self).__init__() self.pretrained = pretrained self.net_init(input_size, ms_ks) if not pretrained: self.weight_init() self.scale_background = 0.4 self.scale_seg = 1.0 self.scale_exist = 0.1 self.ce_loss = nn.CrossEntropyLoss(weight=torch.tensor([self.scale_background, 1, 1, 1, 1])) self.bce_loss = nn.BCELoss()
Example #2
Source File: utils.py From StackGAN-Pytorch with MIT License | 6 votes |
def compute_generator_loss(netD, fake_imgs, real_labels, conditions, gpus): criterion = nn.BCELoss() cond = conditions.detach() fake_features = nn.parallel.data_parallel(netD, (fake_imgs), gpus) # fake pairs inputs = (fake_features, cond) fake_logits = nn.parallel.data_parallel(netD.get_cond_logits, inputs, gpus) errD_fake = criterion(fake_logits, real_labels) if netD.get_uncond_logits is not None: fake_logits = \ nn.parallel.data_parallel(netD.get_uncond_logits, (fake_features), gpus) uncond_errD_fake = criterion(fake_logits, real_labels) errD_fake += uncond_errD_fake return errD_fake #############################
Example #3
Source File: task.py From cloudml-samples with Apache License 2.0 | 6 votes |
def train(net, train_loader, optimizer, epoch): """Create the training loop""" net.train() criterion = nn.BCELoss() running_loss = 0.0 for batch_index, data in enumerate(train_loader): features = data['features'] target = data['target'] # zero the parameter gradients optimizer.zero_grad() # forward + backward + optimize outputs = net(features) loss = criterion(outputs, target) loss.backward() optimizer.step() # print statistics running_loss += loss.item() if batch_index % 6 == 5: # print every 6 mini-batches print('[%d, %5d] loss: %.3f' % (epoch, batch_index + 1, running_loss / 6)) running_loss = 0.0
Example #4
Source File: task.py From cloudml-samples with Apache License 2.0 | 6 votes |
def test(net, test_loader): """Test the DNN""" net.eval() criterion = nn.BCELoss() # https://pytorch.org/docs/stable/nn.html#bceloss test_loss = 0 correct = 0 with torch.no_grad(): for i, data in enumerate(test_loader, 0): features = data['features'] target = data['target'] output = net(features) # Binarize the output pred = output.apply_(lambda x: 0.0 if x < 0.5 else 1.0) test_loss += criterion(output, target) # sum up batch loss correct += pred.eq(target.view_as(pred)).sum().item() test_loss /= len(test_loader.dataset) print('\nTest set:\n\tAverage loss: {:.4f}'.format(test_loss)) print('\tAccuracy: {}/{} ({:.0f}%)\n'.format( correct, (len(test_loader) * test_loader.batch_size), 100. * correct / (len(test_loader) * test_loader.batch_size)))
Example #5
Source File: task.py From cloudml-samples with Apache License 2.0 | 6 votes |
def train(net, train_loader, optimizer, epoch): """Create the training loop""" net.train() criterion = nn.BCELoss() running_loss = 0.0 for batch_index, data in enumerate(train_loader): features = data['features'] target = data['target'] # zero the parameter gradients optimizer.zero_grad() # forward + backward + optimize outputs = net(features) loss = criterion(outputs, target) loss.backward() optimizer.step() # print statistics running_loss += loss.item() if batch_index % 6 == 5: # print every 6 mini-batches print('[%d, %5d] loss: %.3f' % (epoch, batch_index + 1, running_loss / 6)) running_loss = 0.0
Example #6
Source File: ablation_train.py From BDCN with MIT License | 6 votes |
def cross_entropy_loss2d(inputs, targets, cuda=False, balance=1.1): """ :param inputs: inputs is a 4 dimensional data nx1xhxw :param targets: targets is a 3 dimensional data nx1xhxw :return: """ n, c, h, w = inputs.size() weights = np.zeros((n, c, h, w)) for i in xrange(n): t = targets[i, :, :, :].cpu().data.numpy() pos = (t == 1).sum() neg = (t == 0).sum() valid = neg + pos weights[i, t == 1] = neg * 1. / valid weights[i, t == 0] = pos * balance / valid weights = torch.Tensor(weights) if cuda: weights = weights.cuda() weights = Variable(weights) inputs = F.sigmoid(inputs) loss = nn.BCELoss(weights, size_average=False)(inputs, targets) return loss
Example #7
Source File: train.py From BDCN with MIT License | 6 votes |
def cross_entropy_loss2d(inputs, targets, cuda=False, balance=1.1): """ :param inputs: inputs is a 4 dimensional data nx1xhxw :param targets: targets is a 3 dimensional data nx1xhxw :return: """ n, c, h, w = inputs.size() weights = np.zeros((n, c, h, w)) for i in xrange(n): t = targets[i, :, :, :].cpu().data.numpy() pos = (t == 1).sum() neg = (t == 0).sum() valid = neg + pos weights[i, t == 1] = neg * 1. / valid weights[i, t == 0] = pos * balance / valid weights = torch.Tensor(weights) if cuda: weights = weights.cuda() inputs = F.sigmoid(inputs) loss = nn.BCELoss(weights, size_average=False)(inputs, targets) return loss
Example #8
Source File: sequence_labeling.py From GraphIE with GNU General Public License v3.0 | 6 votes |
def _adj_loss(self, coref_adj, gold_adj): ''' This is the same as an average of element_wise cross_entropy The only constraint is (coref_adj.shape == gold_adj.shape) :param coref_adj: a matrix of 0~1 values :param gold_adj: a matrix, (gold_adj.sum(-1) == 1).all() == True :return: loss ''' loss_fn = nn.BCELoss() softmax = nn.Softmax() assert (coref_adj.shape == gold_adj.shape) # assert len(coref_adj.shape) == 2 # assert (coref_adj.sum(-1) == 1).all() # assert (gold_adj.sum(-1) == 1).all() coref_adj_for_comp = torch.clamp(coref_adj, 0., 1.) return loss_fn(coref_adj_for_comp, gold_adj)
Example #9
Source File: task.py From cloudml-samples with Apache License 2.0 | 6 votes |
def test(net, test_loader): """Test the DNN""" net.eval() criterion = nn.BCELoss() # https://pytorch.org/docs/stable/nn.html#bceloss test_loss = 0 correct = 0 with torch.no_grad(): for i, data in enumerate(test_loader, 0): features = data['features'] target = data['target'] output = net(features) # Binarize the output pred = output.apply_(lambda x: 0.0 if x < 0.5 else 1.0) test_loss += criterion(output, target) # sum up batch loss correct += pred.eq(target.view_as(pred)).sum().item() test_loss /= len(test_loader.dataset) print('\nTest set:\n\tAverage loss: {:.4f}'.format(test_loss)) print('\tAccuracy: {}/{} ({:.0f}%)\n'.format( correct, (len(test_loader) * test_loader.batch_size), 100. * correct / (len(test_loader) * test_loader.batch_size)))
Example #10
Source File: task.py From cloudml-samples with Apache License 2.0 | 6 votes |
def train(net, train_loader, optimizer): """Create the training loop""" net.train() criterion = nn.BCELoss() for batch_index, data in enumerate(train_loader): features = data['features'] target = data['target'] # zero the parameter gradients optimizer.zero_grad() # forward + backward + optimize outputs = net(features) loss = criterion(outputs, target) loss.backward() optimizer.step()
Example #11
Source File: pytorch_discriminator.py From qiskit-aqua with Apache License 2.0 | 6 votes |
def loss(self, x, y, weights=None): """ Loss function Args: x (torch.Tensor): Discriminator output. y (torch.Tensor): Label of the data point weights (torch.Tensor): Data weights. Returns: torch.Tensor: Loss w.r.t to the generated data points. """ if weights is not None: loss_funct = nn.BCELoss(weight=weights, reduction='sum') else: loss_funct = nn.BCELoss() return loss_funct(x, y)
Example #12
Source File: gdqn.py From KG-A2C with MIT License | 6 votes |
def __init__(self, params): configure_logger(params['output_dir']) log('Parameters {}'.format(params)) self.params = params self.binding = load_bindings(params['rom_file_path']) self.max_word_length = self.binding['max_word_length'] self.sp = spm.SentencePieceProcessor() self.sp.Load(params['spm_file']) kg_env = KGA2CEnv(params['rom_file_path'], params['seed'], self.sp, params['tsv_file'], step_limit=params['reset_steps'], stuck_steps=params['stuck_steps'], gat=params['gat']) self.vec_env = VecEnv(params['batch_size'], kg_env, params['openie_path']) self.template_generator = TemplateActionGenerator(self.binding) env = FrotzEnv(params['rom_file_path']) self.vocab_act, self.vocab_act_rev = load_vocab(env) self.model = KGA2C(params, self.template_generator.templates, self.max_word_length, self.vocab_act, self.vocab_act_rev, len(self.sp), gat=self.params['gat']).cuda() self.batch_size = params['batch_size'] if params['preload_weights']: self.model = torch.load(self.params['preload_weights'])['model'] self.optimizer = optim.Adam(self.model.parameters(), lr=params['lr']) self.loss_fn1 = nn.BCELoss() self.loss_fn2 = nn.BCEWithLogitsLoss() self.loss_fn3 = nn.MSELoss()
Example #13
Source File: models.py From YOLOv3-model-pruning with MIT License | 5 votes |
def __init__(self, anchors, num_classes, img_dim=416): super(YOLOLayer, self).__init__() self.anchors = anchors self.num_anchors = len(anchors) self.num_classes = num_classes self.ignore_thres = 0.5 self.mse_loss = nn.MSELoss() self.bce_loss = nn.BCELoss() self.obj_scale = 1 self.noobj_scale = 100 self.metrics = {} self.img_dim = img_dim self.grid_size = 0 # grid size
Example #14
Source File: test_classifier.py From skorch with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_takes_no_log_without_nllloss(self, net_cls, module_cls, data): net = net_cls(module_cls, criterion=nn.BCELoss, max_epochs=1) net.initialize() mock_loss = Mock(side_effect=nn.NLLLoss()) net.criterion_.forward = mock_loss net.partial_fit(*data) # call partial_fit to avoid re-initialization # check that loss was called with raw probabilities for (y_out, _), _ in mock_loss.call_args_list: assert not (y_out < 0).all() assert torch.isclose(torch.ones(len(y_out)), y_out.sum(1)).all() # classifier-specific test
Example #15
Source File: networks.py From Single-Image-Reflection-Removal-Beyond-Linearity with MIT License | 5 votes |
def __init__(self, use_lsgan=True, target_real_label=1.0, target_fake_label=0.0, tensor=torch.FloatTensor): super(GANLoss, self).__init__() self.real_label = target_real_label self.fake_label = target_fake_label self.real_label_var = None self.fake_label_var = None self.Tensor = tensor if use_lsgan: self.loss = nn.MSELoss() else: self.loss = nn.BCELoss()
Example #16
Source File: utils.py From LaMP with MIT License | 5 votes |
def get_criterion(opt): if opt.binary_relevance: return nn.BCELoss(size_average=False)#weight=ranking_values) if opt.label_smoothing >0 : return LabelSmoothing(opt.tgt_vocab_size, Constants.PAD, opt.label_smoothing) else: weight = torch.ones(opt.tgt_vocab_size) weight[Constants.PAD] = 0 return nn.CrossEntropyLoss(weight, size_average=False)
Example #17
Source File: model_builder.py From lumin with Apache License 2.0 | 5 votes |
def _parse_loss(self, loss:Union[Any,'auto']='auto') -> None: if loss == 'auto': if 'class' in self.objective: if self.n_out > 1 and 'multiclass' in self.objective: self.loss = WeightedCCE else: self.loss = nn.BCELoss else: self.loss = WeightedMSE else: self.loss = loss
Example #18
Source File: yolo.py From FATE with Apache License 2.0 | 5 votes |
def __init__(self, anchors, num_classes, img_dim=416): super(YOLOLayer, self).__init__() self.anchors = anchors self.num_anchors = len(anchors) self.num_classes = num_classes self.ignore_thres = 0.5 self.mse_loss = nn.MSELoss() self.bce_loss = nn.BCELoss() self.obj_scale = 1 self.noobj_scale = 100 self.metrics = {} self.img_dim = img_dim self.grid_size = 0 # grid size
Example #19
Source File: models.py From Complex-YOLOv3 with GNU General Public License v3.0 | 5 votes |
def __init__(self, anchors, num_classes, img_dim=416): super(YOLOLayer, self).__init__() self.anchors = anchors self.num_anchors = len(anchors) self.num_classes = num_classes self.ignore_thres = 0.5 self.mse_loss = nn.MSELoss() self.bce_loss = nn.BCELoss() self.obj_scale = 1 self.noobj_scale = 100 self.metrics = {} self.img_dim = img_dim self.grid_size = 0 # grid size
Example #20
Source File: train.py From BaSNet-pytorch with MIT License | 5 votes |
def __init__(self, alpha): super(BaS_Net_loss, self).__init__() self.alpha = alpha self.ce_criterion = nn.BCELoss()
Example #21
Source File: loss.py From ganzo with Apache License 2.0 | 5 votes |
def __init__(self, options, discriminator): super().__init__(options) self.discriminator = discriminator self.cross_entropy = nn.BCELoss() self.l1 = nn.L1Loss() self.l1_weight = options.l1_weight
Example #22
Source File: loss.py From ganzo with Apache License 2.0 | 5 votes |
def __init__(self, options, discriminator): super().__init__(options) self.criterion = nn.BCELoss() self.discriminator = discriminator
Example #23
Source File: networks_modified.py From everybody_dance_now_pytorch with GNU Affero General Public License v3.0 | 5 votes |
def __init__(self, use_lsgan=True, target_real_label=1.0, target_fake_label=0.0, tensor=torch.FloatTensor): super(GANLoss, self).__init__() self.real_label = target_real_label self.fake_label = target_fake_label self.real_label_var = None self.fake_label_var = None self.Tensor = tensor if use_lsgan: self.loss = nn.MSELoss() else: self.loss = nn.BCELoss()
Example #24
Source File: loss_added.py From BeautyGAN_pytorch with MIT License | 5 votes |
def __init__(self, use_lsgan=True, target_real_label=1.0, target_fake_label=0.0, tensor=torch.FloatTensor): super(GANLoss, self).__init__() self.real_label = target_real_label self.fake_label = target_fake_label self.real_label_var = None self.fake_label_var = None self.Tensor = tensor if use_lsgan: self.loss = nn.MSELoss() else: self.loss = nn.BCELoss()
Example #25
Source File: losses.py From DM-GAN with MIT License | 5 votes |
def discriminator_loss(netD, real_imgs, fake_imgs, conditions, real_labels, fake_labels): # Forward real_features = netD(real_imgs) fake_features = netD(fake_imgs.detach()) # loss # cond_real_logits = netD.COND_DNET(real_features, conditions) cond_real_errD = nn.BCELoss()(cond_real_logits, real_labels) cond_fake_logits = netD.COND_DNET(fake_features, conditions) cond_fake_errD = nn.BCELoss()(cond_fake_logits, fake_labels) # batch_size = real_features.size(0) cond_wrong_logits = netD.COND_DNET(real_features[:(batch_size - 1)], conditions[1:batch_size]) cond_wrong_errD = nn.BCELoss()(cond_wrong_logits, fake_labels[1:batch_size]) if netD.UNCOND_DNET is not None: real_logits = netD.UNCOND_DNET(real_features) fake_logits = netD.UNCOND_DNET(fake_features) real_errD = nn.BCELoss()(real_logits, real_labels) fake_errD = nn.BCELoss()(fake_logits, fake_labels) errD = ((real_errD + cond_real_errD) / 2. + (fake_errD + cond_fake_errD + cond_wrong_errD) / 3.) else: errD = cond_real_errD + (cond_fake_errD + cond_wrong_errD) / 2. log = 'Real_Acc: {:.4f} Fake_Acc: {:.4f} '.format(torch.mean(real_logits).item(), torch.mean(fake_logits).item()) return errD, log
Example #26
Source File: loss.py From awesome-semantic-segmentation-pytorch with Apache License 2.0 | 5 votes |
def __init__(self, se_loss=True, se_weight=0.2, nclass=19, aux=False, aux_weight=0.4, weight=None, ignore_index=-1, **kwargs): super(EncNetLoss, self).__init__(weight, None, ignore_index) self.se_loss = se_loss self.aux = aux self.nclass = nclass self.se_weight = se_weight self.aux_weight = aux_weight self.bceloss = nn.BCELoss(weight)
Example #27
Source File: loss.py From awesome-semantic-segmentation-pytorch with Apache License 2.0 | 5 votes |
def __init__(self, aux=False, aux_weight=0.4, weight=None, ignore_index=-1, **kwargs): super(MixSoftmaxCrossEntropyOHEMLoss, self).__init__(ignore_index=ignore_index) self.aux = aux self.aux_weight = aux_weight self.bceloss = nn.BCELoss(weight)
Example #28
Source File: trainer.py From self-attention-GAN-pytorch with MIT License | 5 votes |
def __init__(self, config): # Config self.config = config self.start = 0 # Unless using pre-trained model # Create directories if not exist utils.make_folder(self.config.save_path) utils.make_folder(self.config.model_weights_path) utils.make_folder(self.config.sample_images_path) # Copy files utils.write_config_to_file(self.config, self.config.save_path) utils.copy_scripts(self.config.save_path) # Check for CUDA utils.check_for_CUDA(self) # Make dataloader self.dataloader, self.num_of_classes = utils.make_dataloader(self.config.batch_size_in_gpu, self.config.dataset, self.config.data_path, self.config.shuffle, self.config.drop_last, self.config.dataloader_args, self.config.resize, self.config.imsize, self.config.centercrop, self.config.centercrop_size) # Data iterator self.data_iter = iter(self.dataloader) # Build G and D self.build_models() if self.config.adv_loss == 'dcgan': self.criterion = nn.BCELoss()
Example #29
Source File: ensemble_nn4.py From kaggle-human-protein-atlas-image-classification with Apache License 2.0 | 5 votes |
def eval_batch(data_all, logit_all, in_train=False): out_list = [] for batch, logit in zip(grouper(data_all, bs), grouper(logit_all, bs)): batch = [b if isinstance(b, torch.Tensor) else torch.from_numpy(b) for b in batch if b is not None] logit = [b if isinstance(b, torch.Tensor) else torch.from_numpy(b) for b in logit if b is not None] out_batch = net(torch.stack(batch, dim=0).cuda(), torch.stack(logit, dim=0).cuda(), in_train) out_list.append(out_batch) out = torch.cat(out_list, dim=0) return out # loss_fn = MultiLabelMarginLoss() # loss_fn = FocalLoss() # loss_fn = BCELoss() # loss_fn = BCEWithLogitsLoss()
Example #30
Source File: networks.py From iSketchNFill with GNU General Public License v3.0 | 5 votes |
def __init__(self, use_lsgan=True, target_real_label=1.0, target_fake_label=0.0, tensor=torch.FloatTensor): super(GANLoss, self).__init__() self.real_label = target_real_label self.fake_label = target_fake_label self.real_label_var = None self.fake_label_var = None self.Tensor = tensor if use_lsgan: self.loss = nn.MSELoss() else: self.loss = nn.BCELoss()