class_docstr: SGL is a GCN-based recommender model.
  
  SGL supplements the classical supervised task of recommendation with an auxiliary
  self supervised task, which reinforces node representation learning via self-
  discrimination.Specifically,SGL generates multiple views of a node, maximizing the
  agreement between different views of the same node compared to that of other nodes.
  SGL devises three operators to generate the views — node dropout, edge dropout, and
  random walk — that change the graph structure in different manners.
  
  We implement the model following the original author with a pairwise training mode.
docstr: Convert csr_matrix to tensor.
  
  Args:
      matrix (scipy.csr_matrix): Sparse matrix to be converted.
  
  Returns:
      torch.sparse.FloatTensor: Transformed sparse matrix.
docstr_tok: ["Convert","csr_matrix","to","tensor",".","Args",":","matrix","(","scipy.csr_matrix",")",":","Sparse","matrix","to","be","converted",".","Returns",":","torch.sparse.FloatTensor",":","Transformed","sparse","matrix","."]
code: def csr2tensor(self, matrix: sp.csr_matrix):
      r"""Convert csr_matrix to tensor.
  
      Args:
          matrix (scipy.csr_matrix): Sparse matrix to be converted.
  
      Returns:
          torch.sparse.FloatTensor: Transformed sparse matrix.
      """
      matrix = matrix.tocoo()
      x = torch.sparse.FloatTensor(
          torch.LongTensor(np.array([matrix.row, matrix.col])),
          torch.FloatTensor(matrix.data.astype(np.float32)),
          matrix.shape,
      ).to(self.device)
      return x
  
imports: import numpy
  import scipy.sparse
  import torch
  from recbole.model.abstract_recommender import GeneralRecommender
  from recbole.model.init import xavier_uniform_initialization
  from recbole.model.loss import BPRLoss, EmbLoss
  from recbole.utils import InputType
  import torch.nn.functional
label_desc: Use image node_id 5 for calling the SGL obj's underlying member method code with example usage: obj.csr2tensor(matrix) and returns: x