              else:
                  layer_inputs = [compiled_layers[inp] for inp in inbound]
                  logger.debug("Compiling layer '%s': layer inputs: %s", name, layer_inputs)
                  model = layer(layer_inputs)
              compiled_layers[name] = model
          retval = KerasModel(self._inputs, model, name="{}_inference".format(saved_model.name))
          logger.debug("Compiled inference model '%s': %s", retval.name, retval)
          return retval
  
      def _get_filtered_structure(self):
          """ Obtain the structure of the full model, filtering out inbound nodes and
 
</s> remove                 layer_inputs = [compiled_layers[inp] for inp in inbound]
                logger.debug("Compiling layer '%s': layer inputs: %s", name, layer_inputs)
 </s> add                 layer_inputs = []
                for inp in inbound:
                    inbound_layer = compiled_layers[inp[0]]
                    if isinstance(inbound_layer, list) and len(inbound_layer) > 1:
                        # Multi output inputs
                        inbound_output_idx = inp[1]
                        logger.debug("Selecting output index %s from multi output inbound "
                                     "layer: %s", inbound_output_idx, inbound_layer)
                        layer_inputs.append(inbound_layer[inbound_output_idx])
                    else:
                        layer_inputs.append(inbound_layer)

                logger.debug("Compiling layer '%s': layer inputs: %s", layer.name, layer_inputs) </s> remove                 logger.debug("Adding model inputs %s: %s", self._input_names, self._inputs)
                model = layer(self._inputs)
 </s> add                 model = model_inputs
                logger.debug("Adding model inputs %s: %s", layer.name, model) </s> remove         """ Obtain the structure of the full model, filtering out inbound nodes and
        layers that are not required for the requested swap destination.
 </s> add         """ Obtain the structure of the inference model. </s> remove                          name, layer, inbound)
 </s> add                          layer.name, layer, inbound) </s> remove         Input layers to the full model are not returned in the structure.
 </s> add         This parses the model config (in reverse) to obtain the required layers for an inference
        model.
            compiled_layers[layer.name] = model
            retval = KerasModel(model_inputs, model, name="{}_inference".format(saved_model.name))
              else:
                  layer_inputs = [compiled_layers[inp] for inp in inbound]
                  logger.debug("Compiling layer '%s': layer inputs: %s", name, layer_inputs)
                  model = layer(layer_inputs)
            compiled_layers[layer.name] = model
            retval = KerasModel(model_inputs, model, name="{}_inference".format(saved_model.name))
            compiled_layers[layer.name] = model
            retval = KerasModel(model_inputs, model, name="{}_inference".format(saved_model.name))
          logger.debug("Compiled inference model '%s': %s", retval.name, retval)
          return retval
  
      def _get_filtered_structure(self):
          """ Obtain the structure of the full model, filtering out inbound nodes and
keep keep keep keep replace replace keep keep keep keep keep
 plugins.train.model.base - More robust inference model generation 
plugins/train/model/_base.py