PyCaffe中定义的层模块在哪里

Where is layer module defined in PyCaffe

我正在修改 Caffe tutorial 以实现神经网络,但我正在努力确定一些 pycaffe 模块的位置以便查看某些函数定义。

例如教程中提到:

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

在哪里可以找到这些函数定义,在哪里可以看到预定义了哪些其他类型的图层?我看到 layersparamsdefined here 但没有提到类型(例如 layers.Convolution 等)。

我试图解决这个问题的原因是因为我希望在生成原型文本时能够从 Python 定义的 pycaffe 教程中遗漏了其他原型文本参数。其中包括 blob_lrinclude{phase: TRAIN}.

您可以像这样添加 blob_lrphase

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

您可以在 this answer 中查看更多示例。