class_docstr: The :class:`Layer` class represents a single layer of a neural network. It
  should be subclassed when implementing new types of layers.
  
  Because each layer can keep track of the layer(s) feeding into it, a
  network's output :class:`Layer` instance can double as a handle to the full
  network.
  
  Parameters
  ----------
  incoming : a :class:`Layer` instance or a tuple
      The layer feeding into this layer, or the expected input shape.
  name : a string or None
      An optional name to attach to this layer.
class_docstr_tok: ["The",":","class",":","`","Layer","`","class","represents","a","single","layer","of","a","neural","network",".","It","should","be","subclassed","when","implementing","new","types","of","layers",".","Because","each","layer","can","keep","track","of","the","layer","(","s",")","feeding","into","it",",","a","network","'s","output",":","class",":","`","Layer","`","instance","can","double","as","a","handle","to","the","full","network",".","Parameters","--","--","--","--","--","incoming",":","a",":","class",":","`","Layer","`","instance","or","a","tuple","The","layer","feeding","into","this","layer",",","or","the","expected","input","shape",".","name",":","a","string","or","None","An","optional","name","to","attach","to","this","layer","."]
docstr: Propagates the given input through this layer (and only this layer).
  
  Parameters
  ----------
  input : Theano expression
      The expression to propagate through this layer.
  
  Returns
  -------
  output : Theano expression
      The output of this layer given the input to this layer.
  
  
  Notes
  -----
  This is called by the base :meth:`lasagne.layers.get_output()`
  to propagate data through a network.
  
  This method should be overridden when implementing a new
  :class:`Layer` class. By default it raises `NotImplementedError`.
docstr_tok: ["Propagates","the","given","input","through","this","layer","(","and","only","this","layer",")",".","Parameters","--","--","--","--","--","input",":","Theano","expression","The","expression","to","propagate","through","this","layer",".","Returns","--","--","--","-","output",":","Theano","expression","The","output","of","this","layer","given","the","input","to","this","layer",".","Notes","--","--","-","This","is","called","by","the","base",":","meth",":","`","lasagne.layers.get_output","(",")","`","to","propagate","data","through","a","network",".","This","method","should","be","overridden","when","implementing","a","new",":","class",":","`","Layer","`","class",".","By","default","it","raises","`","NotImplementedError","`","."]
code: def get_output_for(self, input, **kwargs):
      """
      Propagates the given input through this layer (and only this layer).
  
      Parameters
      ----------
      input : Theano expression
          The expression to propagate through this layer.
  
      Returns
      -------
      output : Theano expression
          The output of this layer given the input to this layer.
  
  
      Notes
      -----
      This is called by the base :meth:`lasagne.layers.get_output()`
      to propagate data through a network.
  
      This method should be overridden when implementing a new
      :class:`Layer` class. By default it raises `NotImplementedError`.
      """
      raise NotImplementedError
  
file_path: Lasagne/lasagne/layers/base.py
imports: from collections import OrderedDict
  import theano.tensor
  from ..None import utils
label_desc: Use image node_id 5 for calling the Layer obj's underlying member method code with example usage: obj.get_output_for(input) without return types