PyCaffe中定义的层模块在哪里

mar*_*man 5 python machine-learning neural-network deep-learning caffe

我正在修改一个Caffe教程来实现一个神经网络,但我正在努力确定一些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)
...
Run Code Online (Sandbox Code Playgroud)

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

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

Sha*_*hai 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})
Run Code Online (Sandbox Code Playgroud)

您可以在此答案中看到更多示例.