PyCaffe中定义的层模块在哪里

时间:2016-03-23 20:11:43

标签: python machine-learning neural-network deep-learning caffe

我正在修改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等)。

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

1 个答案:

答案 0 :(得分:7)

您可以像这样添加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中看到更多示例。