code: def report_accuracy(
      self,
      dataset: Iterator[TypilusGraph],
      trained_network: Graph2ClassModule,
      device: Union[str, torch.device],
  ) -> float:
      trained_network.eval()
      unk_class_id = self.__target_vocab.get_id_or_unk(
          self.__target_vocab.get_unk()
      )
  
      num_correct, num_elements = 0, 0
      for mb_data, _ in self.minibatch_iterator(
          self.tensorize_dataset(dataset), device, max_minibatch_size=50
      ):
          _, predictions, _ = trained_network.predict(
              mb_data["graph_mb_data"]
          )
          for target_idx, prediction in zip(
              mb_data["target_classes"], predictions
          ):
              num_elements += 1
              if (
                  target_idx == prediction
                  and target_idx != unk_class_id
              ):
                  num_correct += 1
      return num_correct / num_elements
  
imports: from typing_extensions import TypedDict
  import numpy
  import torch
  from dpu_utils.mlutils import Vocabulary
  from torch import nn
  from typing import Any, Counter, Dict, Iterator, List, NamedTuple, Optional, Tuple, Union
  from ptgnn.baseneuralmodel import AbstractNeuralModel, ModuleWithMetrics
  from ptgnn.baseneuralmodel.utils.data import enforce_not_None
  from ptgnn.neuralmodels.gnn import GnnOutput, GraphData, TensorizedGraphData
  from ptgnn.neuralmodels.gnn.graphneuralnetwork import GraphNeuralNetwork, GraphNeuralNetworkModel
label_desc: Use image node_id 11 for calling the Graph2Class obj's underlying member method code with example usage: obj.report_accuracy(dataset, trained_network, device) and returns: unknown