Python torch.bool() Examples
The following are 30
code examples of torch.bool().
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
, or try the search function
.
Example #1
Source File: train_eval.py From pytorch_geometric with MIT License | 8 votes |
def k_fold(dataset, folds): skf = StratifiedKFold(folds, shuffle=True, random_state=12345) test_indices, train_indices = [], [] for _, idx in skf.split(torch.zeros(len(dataset)), dataset.data.y): test_indices.append(torch.from_numpy(idx).to(torch.long)) val_indices = [test_indices[i - 1] for i in range(folds)] for i in range(folds): train_mask = torch.ones(len(dataset), dtype=torch.bool) train_mask[test_indices[i]] = 0 train_mask[val_indices[i]] = 0 train_indices.append(train_mask.nonzero().view(-1)) return train_indices, test_indices, val_indices
Example #2
Source File: test_negative_sampling.py From pytorch_geometric with MIT License | 6 votes |
def test_batched_negative_sampling(): edge_index = torch.as_tensor([[0, 0, 1, 2], [0, 1, 2, 3]]) edge_index = torch.cat([edge_index, edge_index + 4], dim=1) batch = torch.tensor([0, 0, 0, 0, 1, 1, 1, 1]) neg_edge_index = batched_negative_sampling(edge_index, batch) assert neg_edge_index.size(1) <= edge_index.size(1) adj = torch.zeros(8, 8, dtype=torch.bool) adj[edge_index[0], edge_index[1]] = True neg_adj = torch.zeros(8, 8, dtype=torch.bool) neg_adj[neg_edge_index[0], neg_edge_index[1]] = True assert (adj & neg_adj).sum() == 0 assert neg_adj[:4, 4:].sum() == 0 assert neg_adj[4:, :4].sum() == 0
Example #3
Source File: anchor_generator.py From mmdetection with Apache License 2.0 | 6 votes |
def _meshgrid(self, x, y, row_major=True): """Generate mesh grid of x and y. Args: x (torch.Tensor): Grids of x dimension. y (torch.Tensor): Grids of y dimension. row_major (bool, optional): Whether to return y grids first. Defaults to True. Returns: tuple[torch.Tensor]: The mesh grids of x and y. """ xx = x.repeat(len(y)) yy = y.view(-1, 1).repeat(1, len(x)).view(-1) if row_major: return xx, yy else: return yy, xx
Example #4
Source File: types.py From chainer-compiler with MIT License | 6 votes |
def lacks_value(ty) -> bool: ty = ty.deref() if isinstance(ty, TyNone): return False if isinstance(ty, TyNum): return ty.value is None if isinstance(ty, TyString): return ty.value is None if isinstance(ty, TyList): return True if isinstance(ty, TyTuple): if not ty.is_fixed_len: return True return any([lacks_value(t) for t in ty.get_tys()]) if isinstance(ty, TyDict): return True if isinstance(ty, TyTensor): return ty.shape is None or any([not i.has_value() for i in ty.shape]) if isinstance(ty, TyDType): return ty.t is None
Example #5
Source File: denoising_dataset.py From fairseq with MIT License | 6 votes |
def add_insertion_noise(self, tokens, p): if p == 0.0: return tokens num_tokens = len(tokens) n = int(math.ceil(num_tokens * p)) noise_indices = torch.randperm(num_tokens + n - 2)[:n] + 1 noise_mask = torch.zeros(size=(num_tokens + n,), dtype=torch.bool) noise_mask[noise_indices] = 1 result = torch.LongTensor(n + len(tokens)).fill_(-1) num_random = int(math.ceil(n * self.random_ratio)) result[noise_indices[num_random:]] = self.mask_idx result[noise_indices[:num_random]] = torch.randint(low=1, high=len(self.vocab), size=(num_random,)) result[~noise_mask] = tokens assert (result >= 0).all() return result
Example #6
Source File: misc.py From mmdetection with Apache License 2.0 | 6 votes |
def tensor2imgs(tensor, mean=(0, 0, 0), std=(1, 1, 1), to_rgb=True): """Convert tensor to images. Args: tensor (torch.Tensor): Tensor that contains multiple images mean (tuple[float], optional): Mean of images. Defaults to (0, 0, 0). std (tuple[float], optional): Standard deviation of images. Defaults to (1, 1, 1). to_rgb (bool, optional): Whether convert the images to RGB format. Defaults to True. Returns: list[np.ndarray]: A list that contains multiple images. """ num_imgs = tensor.size(0) mean = np.array(mean, dtype=np.float32) std = np.array(std, dtype=np.float32) imgs = [] for img_id in range(num_imgs): img = tensor[img_id, ...].cpu().numpy().transpose(1, 2, 0) img = mmcv.imdenormalize( img, mean, std, to_bgr=to_rgb).astype(np.uint8) imgs.append(np.ascontiguousarray(img)) return imgs
Example #7
Source File: monobeast.py From torchbeast with Apache License 2.0 | 6 votes |
def create_buffers(flags, obs_shape, num_actions) -> Buffers: T = flags.unroll_length specs = dict( frame=dict(size=(T + 1, *obs_shape), dtype=torch.uint8), reward=dict(size=(T + 1,), dtype=torch.float32), done=dict(size=(T + 1,), dtype=torch.bool), episode_return=dict(size=(T + 1,), dtype=torch.float32), episode_step=dict(size=(T + 1,), dtype=torch.int32), policy_logits=dict(size=(T + 1, num_actions), dtype=torch.float32), baseline=dict(size=(T + 1,), dtype=torch.float32), last_action=dict(size=(T + 1,), dtype=torch.int64), action=dict(size=(T + 1,), dtype=torch.int64), ) buffers: Buffers = {key: [] for key in specs} for _ in range(flags.num_buffers): for key in buffers: buffers[key].append(torch.empty(**specs[key]).share_memory_()) return buffers
Example #8
Source File: types.py From chainer-compiler with MIT License | 6 votes |
def torch_dtype_to_np_dtype(dtype): dtype_dict = { torch.bool : np.dtype(np.bool), torch.uint8 : np.dtype(np.uint8), torch.int8 : np.dtype(np.int8), torch.int16 : np.dtype(np.int16), torch.short : np.dtype(np.int16), torch.int32 : np.dtype(np.int32), torch.int : np.dtype(np.int32), torch.int64 : np.dtype(np.int64), torch.long : np.dtype(np.int64), torch.float16 : np.dtype(np.float16), torch.half : np.dtype(np.float16), torch.float32 : np.dtype(np.float32), torch.float : np.dtype(np.float32), torch.float64 : np.dtype(np.float64), torch.double : np.dtype(np.float64), } return dtype_dict[dtype] # ---------------------- InferenceEngine internal types ------------------------
Example #9
Source File: loss.py From R2CNN.pytorch with MIT License | 6 votes |
def __call__(self, proposals, keypoint_logits): heatmaps = [] valid = [] for proposals_per_image in proposals: kp = proposals_per_image.get_field("keypoints") heatmaps_per_image, valid_per_image = project_keypoints_to_heatmap( kp, proposals_per_image, self.discretization_size ) heatmaps.append(heatmaps_per_image.view(-1)) valid.append(valid_per_image.view(-1)) keypoint_targets = cat(heatmaps, dim=0) valid = cat(valid, dim=0).to(dtype=torch.bool) valid = torch.nonzero(valid).squeeze(1) # torch.mean (in binary_cross_entropy_with_logits) does'nt # accept empty tensors, so handle it sepaartely if keypoint_targets.numel() == 0 or len(valid) == 0: return keypoint_logits.sum() * 0 N, K, H, W = keypoint_logits.shape keypoint_logits = keypoint_logits.view(N * K, H * W) keypoint_loss = F.cross_entropy(keypoint_logits[valid], keypoint_targets[valid]) return keypoint_loss
Example #10
Source File: data.py From pytorch_geometric with MIT License | 6 votes |
def __cat_dim__(self, key, value): r"""Returns the dimension for which :obj:`value` of attribute :obj:`key` will get concatenated when creating batches. .. note:: This method is for internal use only, and should only be overridden if the batch concatenation process is corrupted for a specific data attribute. """ # Concatenate `*index*` and `*face*` attributes in the last dimension. if bool(re.search('(index|face)', key)): return -1 # By default, concatenate sparse matrices diagonally. elif isinstance(value, SparseTensor): return (0, 1) return 0
Example #11
Source File: sampler.py From pytorch_geometric with MIT License | 6 votes |
def __init__(self, edge_index: torch.Tensor, sizes: List[int], node_idx: Optional[torch.Tensor] = None, num_nodes: Optional[int] = None, flow: str = "source_to_target", **kwargs): N = int(edge_index.max() + 1) if num_nodes is None else num_nodes edge_attr = torch.arange(edge_index.size(1)) adj = SparseTensor(row=edge_index[0], col=edge_index[1], value=edge_attr, sparse_sizes=(N, N), is_sorted=False) adj = adj.t() if flow == 'source_to_target' else adj self.adj = adj.to('cpu') if node_idx is None: node_idx = torch.arange(N) elif node_idx.dtype == torch.bool: node_idx = node_idx.nonzero().view(-1) self.sizes = sizes self.flow = flow assert self.flow in ['source_to_target', 'target_to_source'] super(NeighborSampler, self).__init__(node_idx.tolist(), collate_fn=self.sample, **kwargs)
Example #12
Source File: load_graph.py From dgl with Apache License 2.0 | 6 votes |
def load_ogb(name): from ogb.nodeproppred import DglNodePropPredDataset data = DglNodePropPredDataset(name=name) splitted_idx = data.get_idx_split() graph, labels = data[0] labels = labels[:, 0] graph.ndata['features'] = graph.ndata['feat'] graph.ndata['labels'] = labels in_feats = graph.ndata['features'].shape[1] num_labels = len(th.unique(labels)) # Find the node IDs in the training, validation, and test set. train_nid, val_nid, test_nid = splitted_idx['train'], splitted_idx['valid'], splitted_idx['test'] train_mask = th.zeros((graph.number_of_nodes(),), dtype=th.bool) train_mask[train_nid] = True val_mask = th.zeros((graph.number_of_nodes(),), dtype=th.bool) val_mask[val_nid] = True test_mask = th.zeros((graph.number_of_nodes(),), dtype=th.bool) test_mask[test_nid] = True graph.ndata['train_mask'] = train_mask graph.ndata['val_mask'] = val_mask graph.ndata['test_mask'] = test_mask return graph, len(th.unique(graph.ndata['labels']))
Example #13
Source File: mesh.py From MeshCNN with MIT License | 6 votes |
def clean(self, edges_mask, groups): edges_mask = edges_mask.astype(bool) torch_mask = torch.from_numpy(edges_mask.copy()) self.gemm_edges = self.gemm_edges[edges_mask] self.edges = self.edges[edges_mask] self.sides = self.sides[edges_mask] new_ve = [] edges_mask = np.concatenate([edges_mask, [False]]) new_indices = np.zeros(edges_mask.shape[0], dtype=np.int32) new_indices[-1] = -1 new_indices[edges_mask] = np.arange(0, np.ma.where(edges_mask)[0].shape[0]) self.gemm_edges[:, :] = new_indices[self.gemm_edges[:, :]] for v_index, ve in enumerate(self.ve): update_ve = [] # if self.v_mask[v_index]: for e in ve: update_ve.append(new_indices[e]) new_ve.append(update_ve) self.ve = new_ve self.__clean_history(groups, torch_mask) self.pool_count += 1 self.export()
Example #14
Source File: test_subgraph.py From pytorch_geometric with MIT License | 6 votes |
def test_subgraph(): edge_index = torch.tensor([ [0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6], [1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5], ]) edge_attr = torch.Tensor([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) idx = torch.tensor([3, 4, 5], dtype=torch.long) mask = torch.tensor([0, 0, 0, 1, 1, 1, 0], dtype=torch.bool) indices = [3, 4, 5] for subset in [idx, mask, indices]: out = subgraph(subset, edge_index, edge_attr) assert out[0].tolist() == [[3, 4, 4, 5], [4, 3, 5, 4]] assert out[1].tolist() == [7, 8, 9, 10] out = subgraph(subset, edge_index, edge_attr, relabel_nodes=True) assert out[0].tolist() == [[0, 1, 1, 2], [1, 0, 2, 1]] assert out[1].tolist() == [7, 8, 9, 10]
Example #15
Source File: wsc_task.py From fairseq with MIT License | 5 votes |
def disambiguate_pronoun(self, model, sentence, use_cuda=False): sample_json = wsc_utils.convert_sentence_to_json(sentence) dataset = self.build_dataset_for_inference(sample_json) sample = dataset.collater([dataset[0]]) if use_cuda: sample = utils.move_to_cuda(sample) def get_masked_input(tokens, mask): masked_tokens = tokens.clone() masked_tokens[mask.bool()] = self.mask return masked_tokens def get_lprobs(tokens, mask): logits, _ = model(src_tokens=get_masked_input(tokens, mask)) lprobs = F.log_softmax(logits, dim=-1, dtype=torch.float) scores = lprobs.gather(2, tokens.unsqueeze(-1)).squeeze(-1) mask = mask.type_as(scores) scores = (scores * mask).sum(dim=-1) / mask.sum(dim=-1) return scores cand_lprobs = get_lprobs( sample['candidate_tokens'][0], sample['candidate_masks'][0], ) if sample['query_tokens'][0] is not None: query_lprobs = get_lprobs( sample['query_tokens'][0].unsqueeze(0), sample['query_masks'][0].unsqueeze(0), ) return (query_lprobs >= cand_lprobs).all().item() == 1 else: best_idx = cand_lprobs.argmax().item() full_cand = sample['candidate_tokens'][0][best_idx] mask = sample['candidate_masks'][0][best_idx] toks = full_cand[mask.bool()] return self.bpe.decode(self.source_dictionary.string(toks)).strip()
Example #16
Source File: wsc_task.py From fairseq with MIT License | 5 votes |
def binarize_with_mask(self, txt, prefix, suffix, leading_space, trailing_space): toks = self.binarize( prefix + leading_space + txt + trailing_space + suffix, append_eos=True, ) mask = torch.zeros_like(toks, dtype=torch.bool) mask_start = len(self.binarize(prefix)) mask_size = len(self.binarize(leading_space + txt)) mask[mask_start:mask_start + mask_size] = 1 return toks, mask
Example #17
Source File: wsc_task.py From fairseq with MIT License | 5 votes |
def binarize(self, s: str, append_eos: bool = False): if self.tokenizer is not None: s = self.tokenizer.encode(s) if self.bpe is not None: s = self.bpe.encode(s) tokens = self.vocab.encode_line( s, append_eos=append_eos, add_if_not_exist=False, ).long() if self.args.init_token is not None: tokens = torch.cat([tokens.new([self.args.init_token]), tokens]) return tokens
Example #18
Source File: beam_search_and_decode_v2.py From translate with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _get_all_end_states( self, beam_tokens: Tensor, beam_scores: Tensor, beam_prev_indices: Tensor, num_steps: int, ) -> Tensor: min_score = float("inf") min_index = -1 end_states = torch.jit.annotate(List[Tensor], []) position = 1 while bool(position <= num_steps + 1): for hyp_index in range(self.beam_size): if bool(beam_tokens[position][hyp_index] == self.eos_token_id) or bool( position == num_steps + 1 ): hypo_score = float(beam_scores[position][hyp_index]) if bool(self.length_penalty != 0): hypo_score = hypo_score / float(position) ** float( self.length_penalty ) end_states, min_score, min_index = self._add_to_end_states( end_states, min_score, torch.tensor([hypo_score, float(position), float(hyp_index)]), min_index, ) position = position + 1 end_states = torch.stack(end_states) _, sorted_end_state_indices = end_states[:, 0].sort(dim=0, descending=True) end_states = end_states[sorted_end_state_indices, :] return end_states
Example #19
Source File: types.py From chainer-compiler with MIT License | 5 votes |
def TyBool(value=None): return TyNum(0, value=value) # bool or int or float
Example #20
Source File: ops.py From funsor with Apache License 2.0 | 5 votes |
def _log(x): if x.dtype in (torch.bool, torch.uint8, torch.long): x = x.float() return x.log()
Example #21
Source File: tensor_models.py From dgl with Apache License 2.0 | 5 votes |
def setup_cross_rels(self, cross_rels, global_emb): cpu_bitmap = th.zeros((self.num,), dtype=th.bool) for i, rel in enumerate(cross_rels): cpu_bitmap[rel] = 1 self.cpu_bitmap = cpu_bitmap self.has_cross_rel = True self.global_emb = global_emb
Example #22
Source File: test_diff_pool.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_diff_pool(): batch_size, num_nodes, channels, num_clusters = (2, 20, 16, 10) x = torch.randn((batch_size, num_nodes, channels)) adj = torch.rand((batch_size, num_nodes, num_nodes)) s = torch.randn((batch_size, num_nodes, num_clusters)) mask = torch.randint(0, 2, (batch_size, num_nodes), dtype=torch.bool) x, adj, link_loss, ent_loss = dense_diff_pool(x, adj, s, mask) assert x.size() == (2, 10, 16) assert adj.size() == (2, 10, 10) assert link_loss.item() >= 0 assert ent_loss.item() >= 0
Example #23
Source File: test_dense_gin_conv.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_gin_conv_with_broadcasting(): batch_size, num_nodes, channels = 8, 3, 16 nn = Seq(Lin(channels, channels), ReLU(), Lin(channels, channels)) conv = DenseGINConv(nn) x = torch.randn(batch_size, num_nodes, channels) adj = torch.Tensor([ [0, 1, 1], [1, 0, 1], [1, 1, 0], ]) assert conv(x, adj).size() == (batch_size, num_nodes, channels) mask = torch.tensor([1, 1, 1], dtype=torch.bool) assert conv(x, adj, mask).size() == (batch_size, num_nodes, channels)
Example #24
Source File: test_dense_gin_conv.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_sage_conv(): channels = 16 nn = Seq(Lin(channels, channels), ReLU(), Lin(channels, channels)) sparse_conv = GINConv(nn) dense_conv = DenseGINConv(nn) dense_conv = DenseGINConv(nn, train_eps=True) assert dense_conv.__repr__() == ( 'DenseGINConv(nn=Sequential(\n' ' (0): Linear(in_features=16, out_features=16, bias=True)\n' ' (1): ReLU()\n' ' (2): Linear(in_features=16, out_features=16, bias=True)\n' '))') x = torch.randn((5, channels)) edge_index = torch.tensor([[0, 0, 1, 1, 2, 2, 3, 4], [1, 2, 0, 2, 0, 1, 4, 3]]) sparse_out = sparse_conv(x, edge_index) assert sparse_out.size() == (5, channels) x = torch.cat([x, x.new_zeros(1, channels)], dim=0).view(2, 3, channels) adj = torch.Tensor([ [ [0, 1, 1], [1, 0, 1], [1, 1, 0], ], [ [0, 1, 0], [1, 0, 0], [0, 0, 0], ], ]) mask = torch.tensor([[1, 1, 1], [1, 1, 0]], dtype=torch.bool) dense_out = dense_conv(x, adj, mask) assert dense_out.size() == (2, 3, channels) assert dense_out[1, 2].abs().sum().item() == 0 dense_out = dense_out.view(6, channels)[:-1] assert torch.allclose(sparse_out, dense_out, atol=1e-04)
Example #25
Source File: test_dense_sage_conv.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_sage_conv_with_broadcasting(): batch_size, num_nodes, channels = 8, 3, 16 conv = DenseSAGEConv(channels, channels) x = torch.randn(batch_size, num_nodes, channels) adj = torch.Tensor([ [0, 1, 1], [1, 0, 1], [1, 1, 0], ]) assert conv(x, adj).size() == (batch_size, num_nodes, channels) mask = torch.tensor([1, 1, 1], dtype=torch.bool) assert conv(x, adj, mask).size() == (batch_size, num_nodes, channels)
Example #26
Source File: test_dense_sage_conv.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_sage_conv(): channels = 16 sparse_conv = SAGEConv(channels, channels, normalize=True) dense_conv = DenseSAGEConv(channels, channels, normalize=True) assert dense_conv.__repr__() == 'DenseSAGEConv(16, 16)' # Ensure same weights and bias. dense_conv.lin_rel = sparse_conv.lin_l dense_conv.lin_root = sparse_conv.lin_r x = torch.randn((5, channels)) edge_index = torch.tensor([[0, 0, 1, 1, 2, 2, 3, 4], [1, 2, 0, 2, 0, 1, 4, 3]]) sparse_out = sparse_conv(x, edge_index) assert sparse_out.size() == (5, channels) x = torch.cat([x, x.new_zeros(1, channels)], dim=0).view(2, 3, channels) adj = torch.Tensor([ [ [0, 1, 1], [1, 0, 1], [1, 1, 0], ], [ [0, 1, 0], [1, 0, 0], [0, 0, 0], ], ]) mask = torch.tensor([[1, 1, 1], [1, 1, 0]], dtype=torch.bool) dense_out = dense_conv(x, adj, mask) assert dense_out.size() == (2, 3, channels) assert dense_out[1, 2].abs().sum().item() == 0 dense_out = dense_out.view(6, channels)[:-1] assert torch.allclose(sparse_out, dense_out, atol=1e-04)
Example #27
Source File: test_dense_graph_conv.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_graph_conv(): channels = 16 sparse_conv = GraphConv(channels, channels) dense_conv = DenseGraphConv(channels, channels) assert dense_conv.__repr__() == 'DenseGraphConv(16, 16)' # Ensure same weights and bias. dense_conv.lin_rel = sparse_conv.lin_l dense_conv.lin_root = sparse_conv.lin_r x = torch.randn((5, channels)) edge_index = torch.tensor([[0, 0, 1, 1, 2, 2, 3, 4], [1, 2, 0, 2, 0, 1, 4, 3]]) sparse_out = sparse_conv(x, edge_index) assert sparse_out.size() == (5, channels) x = torch.cat([x, x.new_zeros(1, channels)], dim=0).view(2, 3, channels) adj = torch.Tensor([ [ [0, 1, 1], [1, 0, 1], [1, 1, 0], ], [ [0, 1, 0], [1, 0, 0], [0, 0, 0], ], ]) mask = torch.tensor([[1, 1, 1], [1, 1, 0]], dtype=torch.bool) dense_out = dense_conv(x, adj, mask) assert dense_out.size() == (2, 3, channels) assert dense_out[1, 2].abs().sum().item() == 0 dense_out = dense_out.view(6, channels)[:-1] assert torch.allclose(sparse_out, dense_out, atol=1e-04)
Example #28
Source File: test_dense_gcn_conv.py From pytorch_geometric with MIT License | 5 votes |
def test_dense_gcn_conv_with_broadcasting(): batch_size, num_nodes, channels = 8, 3, 16 conv = DenseGCNConv(channels, channels) x = torch.randn(batch_size, num_nodes, channels) adj = torch.Tensor([ [0, 1, 1], [1, 0, 1], [1, 1, 0], ]) assert conv(x, adj).size() == (batch_size, num_nodes, channels) mask = torch.tensor([1, 1, 1], dtype=torch.bool) assert conv(x, adj, mask).size() == (batch_size, num_nodes, channels)
Example #29
Source File: train_eval.py From pytorch_geometric with MIT License | 5 votes |
def index_to_mask(index, size): mask = torch.zeros(size, dtype=torch.bool, device=index.device) mask[index] = 1 return mask
Example #30
Source File: sequence.py From DeepCTR-Torch with Apache License 2.0 | 5 votes |
def _sequence_mask(self, lengths, maxlen=None, dtype=torch.bool): # Returns a mask tensor representing the first N positions of each cell. if maxlen is None: maxlen = lengths.max() row_vector = torch.arange(0, maxlen, 1).to(self.device) matrix = torch.unsqueeze(lengths, dim=-1) mask = row_vector < matrix mask.type(dtype) return mask