parameters: (self, blobs=None, start=None, end=None, **kwargs)
return_statement: return {out: self.blobs[out].data for out in outputs}
docstring: Forward pass: prepare inputs and run the net forward.
  
      Parameters
      ----------
      blobs : list of blobs to return in addition to output blobs.
      kwargs : Keys are input blob names and values are blob ndarrays.
               For formatting inputs for Caffe, see Net.preprocess().
               If None, input is taken from data layers.
      start : optional name of layer at which to begin the forward pass
      end : optional name of layer at which to finish the forward pass
            (inclusive)
  
      Returns
      -------
      outs : {blob name: blob ndarray} dict.
docstring_summary: Forward pass: prepare inputs and run the net forward.
docstring_tokens: Forward pass : prepare inputs and run the net forward .
function: def _Net_forward(self, blobs=None, start=None, end=None, **kwargs):
      """
      Forward pass: prepare inputs and run the net forward.
  
      Parameters
      ----------
      blobs : list of blobs to return in addition to output blobs.
      kwargs : Keys are input blob names and values are blob ndarrays.
               For formatting inputs for Caffe, see Net.preprocess().
               If None, input is taken from data layers.
      start : optional name of layer at which to begin the forward pass
      end : optional name of layer at which to finish the forward pass
            (inclusive)
  
      Returns
      -------
      outs : {blob name: blob ndarray} dict.
      """
      if blobs is None:
          blobs = []
  
      if start is not None:
          start_ind = list(self._layer_names).index(start)
      else:
          start_ind = 0
  
      if end is not None:
          end_ind = list(self._layer_names).index(end)
          outputs = set(self.top_names[end] + blobs)
      else:
          end_ind = len(self.layers) - 1
          outputs = set(self.outputs + blobs)
  
      if kwargs:
          if set(kwargs.keys()) != set(self.inputs):
              raise Exception('Input blob arguments do not match net inputs.')
          # Set input according to defined shapes and make arrays single and
          # C-contiguous as Caffe expects.
          for in_, blob in six.iteritems(kwargs):
              if blob.shape[0] != self.blobs[in_].shape[0]:
                  raise Exception('Input is not batch sized')
              self.blobs[in_].data[...] = blob
  
      self._forward(start_ind, end_ind)
  
      # Unpack blobs to extract
      return {out: self.blobs[out].data for out in outputs}
function_tokens: def _Net_forward ( self , blobs = None , start = None , end = None , * * kwargs ) : if blobs is None : blobs = [ ] if start is not None : start_ind = list ( self . _layer_names ) . index ( start ) else : start_ind = 0 if end is not None : end_ind = list ( self . _layer_names ) . index ( end ) outputs = set ( self . top_names [ end ] + blobs ) else : end_ind = len ( self . layers ) - 1 outputs = set ( self . outputs + blobs ) if kwargs : if set ( kwargs . keys ( ) ) != set ( self . inputs ) : raise Exception ( 'Input blob arguments do not match net inputs.' ) # Set input according to defined shapes and make arrays single and # C-contiguous as Caffe expects. for in_ , blob in six . iteritems ( kwargs ) : if blob . shape [ 0 ] != self . blobs [ in_ ] . shape [ 0 ] : raise Exception ( 'Input is not batch sized' ) self . blobs [ in_ ] . data [ ... ] = blob self . _forward ( start_ind , end_ind ) # Unpack blobs to extract return { out : self . blobs [ out ] . data for out in outputs }