Where is layer module defined in PyCaffe

那年仲夏 提交于 2019-12-05 01:13:34

问题


I am modifying a Caffe tutorial 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.

For example, the tutorial mentions:

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

Where can I find these function definitions and where can I see what other types of layers are pre-defined? I see that layers and params are defined here but there's no mention of the types (e.g. layers.Convolution, etc).

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, blob_lr and include{phase: TRAIN}.


回答1:


You can add the blob_lr and phase like this:

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

You can see some more examples in this answer.



来源:https://stackoverflow.com/questions/36187825/where-is-layer-module-defined-in-pycaffe

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!