【发布时间】:2018-06-27 11:29:46
【问题描述】:
https://github.com/davidsandberg/facenet/blob/master/src/align/detect_face.py
请参考上面这段python代码。
我发现类网络函数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):
& 调用 conv by
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 --> 它来自哪里?
- ....
我知道 self 可以忽略;输入法, k_h, k_w, c_o, s_h, s_w, 可以与位置匹配,例如:3、3、10、1、1 其他参数按名称分配。
但是,我无法弄清楚 inp 的来源?
这和我熟悉的编程语言 C & C++ 有很大的矛盾..
谁能帮忙解释一下?
提前致谢。
【问题讨论】:
-
Inp 是从上一层输入的。
标签: python tensorflow convolutional-neural-network function-parameter