code: def test_graph_mask_explainer_multiclass_classification(
      edge_mask_type,
      node_mask_type,
      explanation_type,
      task_level,
      return_type,
      index,
  ):
      model_config = ModelConfig(
          mode="multiclass_classification",
          task_level=task_level,
          return_type=return_type,
      )
  
      model = GCN(model_config)
  
      target = None
      if explanation_type == "phenomenon":
          with torch.no_grad():
              target = model(
                  x, edge_index, batch, edge_label_index
              ).argmax(-1)
  
      explainer = Explainer(
          model=model,
          algorithm=GraphMaskExplainer(2, epochs=5, log=False),
          explanation_type=explanation_type,
          node_mask_type=node_mask_type,
          edge_mask_type=edge_mask_type,
          model_config=model_config,
      )
  
      explanation = explainer(
          x,
          edge_index,
          target=target,
          index=index,
          batch=batch,
          edge_label_index=edge_label_index,
      )
  
      check_explanation(edge_mask_type, node_mask_type, explanation)
  
file_path: pytorch_geometric/test/explain/algorithm/test_graphmask_explainer.py
imports: import pytest
  import torch
  from torch_geometric.explain import Explainer, Explanation, GraphMaskExplainer
  from torch_geometric.explain.config import MaskType, ModelConfig, ModelMode, ModelReturnType, ModelTaskLevel
  from torch_geometric.nn import GCNConv, global_add_pool
label_desc: Use image node_id 3 for calling a global function with example usage: test_graph_mask_explainer_multiclass_classification(edge_mask_type, node_mask_type, explanation_type, task_level, return_type, index) without return types