class_docstr: The Deep Graph Infomax model from the
  `"Deep Graph Infomax" <https://arxiv.org/abs/1809.10341>`_
  paper based on user-defined encoder and summary model :math:`\mathcal{E}`
  and :math:`\mathcal{R}` respectively, and a corruption function
  :math:`\mathcal{C}`.
  
  Args:
      hidden_channels (int): The latent space dimensionality.
      encoder (torch.nn.Module): The encoder module :math:`\mathcal{E}`.
      summary (callable): The readout function :math:`\mathcal{R}`.
      corruption (callable): The corruption function :math:`\mathcal{C}`.
class_docstr_tok: ["The","Deep","Graph","Infomax","model","from","the","`","``","Deep","Graph","Infomax","''","<","https",":","\/\/arxiv.org\/abs\/1809.10341",">","`","_","paper","based","on","user-defined","encoder","and","summary","model",":","math",":","`","\\mathcal","{","E","}","`","and",":","math",":","`","\\mathcal","{","R","}","`","respectively",",","and","a","corruption","function",":","math",":","`","\\mathcal","{","C","}","`",".","Args",":","hidden_channels","(","int",")",":","The","latent","space","dimensionality",".","encoder","(","torch.nn.Module",")",":","The","encoder","module",":","math",":","`","\\mathcal","{","E","}","`",".","summary","(","callable",")",":","The","readout","function",":","math",":","`","\\mathcal","{","R","}","`",".","corruption","(","callable",")",":","The","corruption","function",":","math",":","`","\\mathcal","{","C","}","`","."]
docstr: Given the patch-summary pair :obj:`z` and :obj:`summary`, computes
  the probability scores assigned to this patch-summary pair.
  
  Args:
      z (torch.Tensor): The latent space.
      summary (torch.Tensor): The summary vector.
      sigmoid (bool, optional): If set to :obj:`False`, does not apply
          the logistic sigmoid function to the output.
          (default: :obj:`True`)
docstr_tok: ["Given","the","patch-summary","pair",":","obj",":","`","z","`","and",":","obj",":","`","summary","`",",","computes","the","probability","scores","assigned","to","this","patch-summary","pair",".","Args",":","z","(","torch.Tensor",")",":","The","latent","space",".","summary","(","torch.Tensor",")",":","The","summary","vector",".","sigmoid","(","bool",",","optional",")",":","If","set","to",":","obj",":","`","False","`",",","does","not","apply","the","logistic","sigmoid","function","to","the","output",".","(","default",":",":","obj",":","`","True","`",")"]
code: def discriminate(
      self, z: Tensor, summary: Tensor, sigmoid: bool = True
  ) -> Tensor:
      r"""Given the patch-summary pair :obj:`z` and :obj:`summary`, computes
      the probability scores assigned to this patch-summary pair.
  
      Args:
          z (torch.Tensor): The latent space.
          summary (torch.Tensor): The summary vector.
          sigmoid (bool, optional): If set to :obj:`False`, does not apply
              the logistic sigmoid function to the output.
              (default: :obj:`True`)
      """
      summary = summary.t() if summary.dim() > 1 else summary
      value = torch.matmul(z, torch.matmul(self.weight, summary))
      return torch.sigmoid(value) if sigmoid else value
  
file_path: pytorch_geometric/torch_geometric/nn/models/deep_graph_infomax.py
imports: import copy
  from typing import Callable, Tuple
  import torch
  from torch import Tensor
  from torch.nn import Module, Parameter
  from torch_geometric.nn.inits import reset, uniform
label_desc: Use image node_id 4 for calling the DeepGraphInfomax obj's underlying member method code with example usage: obj.discriminate(z, summary, sigmoid) and returns: unknown