https://github.com/davidsandberg/facenet/blob/master/src/align/detect_face.py
Пожалуйста, обратитесь к приведенному выше коду Python.
Я обнаружил, что прототип класса Network функция conv НЕ МОЖЕТ совпадать с вызывающей его частью, как
@layer
def conv(self,
inp,
k_h,
k_w,
c_o,
s_h,
s_w,
name,
relu=True,
padding='SAME',
group=1,
biased=True):
и вызов абонента
class PNet(Network):
def setup(self):
(self.feed('data') #pylint: disable=no-value-for-parameter, no-member
.conv(3, 3, 10, 1, 1, padding='VALID', relu=False, name='conv1')
.prelu(name='PReLU1')
.max_pool(2, 2, 2, 2, name='pool1')
.conv(3, 3, 16, 1, 1, padding='VALID', relu=False, name='conv2')
.prelu(name='PReLU2')
.conv(3, 3, 32, 1, 1, padding='VALID', relu=False, name='conv3')
.prelu(name='PReLU3')
.conv(1, 1, 2, 1, 1, relu=False, name='conv4-1')
.softmax(3,name='prob1'))
(self.feed('PReLU3') #pylint: disable=no-value-for-parameter
.conv(1, 1, 4, 1, 1, relu=False, name='conv4-2'))
Обратите внимание, что
- самостоятельно
- inp -> откуда он взялся?
- ....
Я знаю, что себя можно игнорировать; вх,
k_h,
k_w,
c_o,
S_H,
s_w,
может совпадать с позицией, например: 3, 3, 10, 1, 1
а остальные параметры назначаются по имени.
Тем не менее, я не могу понять, откуда взялся ввод?
Это сильно противоречит моему знакомому языку программирования C & C ++ ..
Может ли кто-нибудь помочь объяснить это?
Заранее спасибо.