class_docstr: An abstract interface for model wrappers that exposes model symbols
  needed for making an attack. This abstraction removes the dependency on
  any specific neural network package (e.g. Keras) from the core
  code of CleverHans. It can also simplify exposing the hidden features of a
  model when a specific package does not directly expose them.
class_docstr_tok: ["An","abstract","interface","for","model","wrappers","that","exposes","model","symbols","needed","for","making","an","attack",".","This","abstraction","removes","the","dependency","on","any","specific","neural","network","package","(","e.g",".","Keras",")","from","the","core","code","of","CleverHans",".","It","can","also","simplify","exposing","the","hidden","features","of","a","model","when","a","specific","package","does","not","directly","expose","them","."]
docstr: Forward propagation to compute the model outputs.
  :param x: A symbolic representation of the network input
  :return: A dictionary mapping layer names to the symbolic
           representation of their output.
docstr_tok: ["Forward","propagation","to","compute","the","model","outputs",".",":","param","x",":","A","symbolic","representation","of","the","network","input",":","return",":","A","dictionary","mapping","layer","names","to","the","symbolic","representation","of","their","output","."]
code: def fprop(self, x, **kwargs):
      """
      Forward propagation to compute the model outputs.
      :param x: A symbolic representation of the network input
      :return: A dictionary mapping layer names to the symbolic
               representation of their output.
      """
      raise NotImplementedError("`fprop` not implemented.")
  
imports: from abc import ABCMeta
  import warnings
  import tensorflow
  from cleverhans import utils_tf
label_desc: Use image node_id 6 for calling the Model obj's underlying member method code with example usage: obj.fprop(x) without return types