code: def spmm_mean(src: SparseTensor, other: torch.Tensor) -> torch.Tensor:
      rowptr, col, value = src.csr()
  
      row = src.storage._row
      rowcount = src.storage._rowcount
      csr2csc = src.storage._csr2csc
      colptr = src.storage._colptr
  
      if value is not None:
          value = value.to(other.dtype)
  
      if value is not None and value.requires_grad:
          row = src.storage.row()
  
      if other.requires_grad:
          row = src.storage.row()
          rowcount = src.storage.rowcount()
          csr2csc = src.storage.csr2csc()
          colptr = src.storage.colptr()
  
      return torch.ops.torch_sparse.spmm_mean(
          row, rowptr, col, value, rowcount, colptr, csr2csc, other
      )
  
file_path: pytorch_sparse/torch_sparse/matmul.py
imports: from typing import Optional, Tuple
  import torch
  from torch import Tensor
  from torch_sparse.tensor import SparseTensor
label_desc: Use image node_id 3 for calling a global function with example usage: spmm_mean(src, other) and returns: torch