class_docstr: Class which converts the supplied pytorch model into an equivalent model
  which uses abstract operations
class_docstr_tok: ["Class","which","converts","the","supplied","pytorch","model","into","an","equivalent","model","which","uses","abstract","operations"]
docstr: Do the forward pass through the NN with the given error terms and zonotope center.
  
  :param cent: The datapoint, representing the zonotope center.
  :param eps: Error terms of the zonotope.
  :return: A tuple, the first element being the zonotope center vector.
           The second is the zonotope error terms/coefficients.
docstr_tok: ["Do","the","forward","pass","through","the","NN","with","the","given","error","terms","and","zonotope","center",".",":","param","cent",":","The","datapoint",",","representing","the","zonotope","center",".",":","param","eps",":","Error","terms","of","the","zonotope",".",":","return",":","A","tuple",",","the","first","element","being","the","zonotope","center","vector",".","The","second","is","the","zonotope","error","terms\/coefficients","."]
code: def abstract_forward(
      self, cent: np.ndarray, eps: np.ndarray
  ) -> Tuple["torch.Tensor", "torch.Tensor"]:
      """
      Do the forward pass through the NN with the given error terms and zonotope center.
  
      :param cent: The datapoint, representing the zonotope center.
      :param eps: Error terms of the zonotope.
      :return: A tuple, the first element being the zonotope center vector.
               The second is the zonotope error terms/coefficients.
      """
  
      x = np.concatenate([cent, eps])
      x = torch.from_numpy(x.astype("float32")).to(self.device)
  
      for op_num, op in enumerate(self.ops):
          # as reshapes are not modules we infer when the reshape from convolutional to dense occurs
          if self.reshape_op_num == op_num:
              x = x.reshape((x.shape[0], -1))
          x = op(x)
      return x[0, :], x[1:, :]
  
imports: from typing import List, Optional, Tuple, Union, Callable, Any, TYPE_CHECKING
  import logging
  import math
  import warnings
  import sys
  import numpy
  import torch
  from art.estimators.certification.deep_z.deep_z import ZonoConv, ZonoDenseLayer, ZonoReLU, ZonoBounds
  from art.estimators.classification.pytorch import PyTorchClassifier
label_desc: Use image node_id 3 for calling the ConvertedModel obj's underlying member method code with example usage: obj.abstract_forward(cent, eps) and returns: x,  x