code: def __init__(self, inner_inputs, inner_outputs):
      input_replacements = [
          (v, NominalVariable(n, v.type))
          for n, v in enumerate(inner_inputs)
          if not isinstance(v, Constant)
      ]
      outputs = clone_replace(inner_outputs, replace=input_replacements)
      _, inputs = (
          zip(*input_replacements) if input_replacements else (None, [])
      )
      self.fgraph = FunctionGraph(inputs, outputs, clone=False)
  
imports: import numpy
  from pytensor.graph.basic import Apply, Constant, NominalVariable, Variable
  from pytensor.graph.fg import FunctionGraph
  from pytensor.graph.op import HasInnerGraph, Op
  from pytensor.graph.replace import clone_replace
  from pytensor.graph.type import Type
label_desc: Use image node_id 1 to create a new MyInnerGraphOp object from inherited base classes: Op, HasInnerGraph with example: obj = MyInnerGraphOp(inner_inputs, inner_outputs)