书写方式举例
layer{
name: "Leaky25"
type: "Python"
bottom: "connect1"
top: "Leaky25"
python_param{
module: "mylayer"
layer: "LeakyLayer"
}
}
层的实现:
import caffe
import numpy as np
import yaml
class LeakyLayer(caffe.Layer):
def setup(self, bottom, top):
pass
def reshape(self, bottom, top):
print "reshape"
top[0].reshape(*(bottom[0].shape))
def forward(self, bottom, top):
print "forward"
count = bottom[0].count
data_bot = bottom[0].data
data_top = top[0].data
shape = data_bot.shape
for i in xrange(shape[0]):
for j in xrange(shape[1]):
if data_bot[i][j] < 0:
data_top[i][j] = data_bot[i][j]*0.1
else:
data_top[i][j] = data_bot[i][j]
def backward(self, top, propagate_down, bottom):
pass