Donde se define el módulo de capa en PyCaffe

Estoy modificando un tutorial de Caffe para implementar una neural network, pero me cuesta identificar dónde se ubican algunos de los módulos de pycaffe para ver ciertas definiciones de funciones.

Por ejemplo, el tutorial menciona:

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) ... 

¿Dónde puedo encontrar estas definiciones de funciones y dónde puedo ver qué otros tipos de capas están predefinidas? Veo que las layers y los params están definidos aquí, pero no se mencionan los tipos (por ejemplo, layers.Convolution , etc.).

La razón por la que estoy tratando de resolver esto es porque hay otros parámetros de prototxt que quedan fuera de los tutoriales de pycaffe que me gustaría poder definir desde Python al generar los prototxts. Estos incluyen, blob_lr e include{phase: TRAIN} .

Puedes agregar el blob_lr y la phase esta manera:

 import caffe from caffe import layers a L, params as P ns = caffe.NetSpec() ns.conv = L.Convolution(bottom, convolution_param={'kernel_size':ks, 'stride':stride, 'num_output':nout, 'pad':pad, 'group':group}, param=[{'lr_mult':1, 'decay_mult':1}, {'lr_mult':2, 'decay_mult':0}], include={'phase': caffe.TRAIN}) 

Puedes ver algunos ejemplos más en esta respuesta .