class_docstr: Represent a single graph with additional attributes.
class_docstr_tok: ["Represent","a","single","graph","with","additional","attributes","."]
code: def split_edge_features(self) -> Dict[str, Tuple[torch.Tensor]]:
      if not self._is_batch:
          raise Exception(
              "Calling split_edge_features() method on a non-batch graph."
          )
      edge_features = dict()
      for feature in self.edge_features.keys():
          if self.edge_features[feature] is None:
              continue
          edge_features[feature] = torch.split(
              self.edge_features[feature],
              split_size_or_sections=self._batch_num_edges,
          )
      return edge_features
  
imports: import os
  import warnings
  from collections import namedtuple
  from typing import Any, Callable, Dict, List, Tuple, Union
  import dgl
  import scipy.sparse
  import torch
  from torch.nn.utils.rnn import pad_sequence
  from .utils import EdgeNotFoundException, SizeMismatchException, check_and_expand, entail_zero_padding, int_to_list, slice_to_list
  from .views import BatchEdgeFeatView, BatchNodeFeatView, EdgeView, NodeFeatView, NodeView
label_desc: Use image node_id 39 for calling the GraphData obj's underlying member method code with example usage: obj.split_edge_features() and returns: edge_features