title: Where is layer module defined in PyCaffe
body: <p>I am modifying a <a href="http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/pascal-multilabel-with-datalayer.ipynb" rel="noreferrer">Caffe tutorial</a> to implement a neural network, but I am struggling to identify where some of the pycaffe modules are location in order to see certain function definitions.</p>
  
  <p>For example, the tutorial mentions:</p>
  
  <pre><code>import caffe
  from caffe import layers a L, params as P
  ....
  L.Convolution(bottom, kernel_size=ks, stride=stride, num_output=nout, pad=pad, group=group)
  L.InnerProduct(bottom, num_output=nout)
  L.ReLU(fc, in_place=True)
  ...
  </code></pre>
  
  <p>Where can I find these function definitions and where can I see what other types of layers are pre-defined? I see that <code>layers</code> and <code>params</code> are <a href="https://github.com/BVLC/caffe/blob/master/python/caffe/net_spec.py" rel="noreferrer">defined here</a> but there's no mention of the types (e.g. <code>layers.Convolution</code>, etc).</p>
  
  <p>The reason I am trying to figure this out is because there are other prototxt parameters left out of the pycaffe tutorials that I would like to be able to define from Python when generating the prototxts. These include, <code>blob_lr</code> and <code>include{phase: TRAIN}</code>.</p>