[英]what does ()() 2 bracket do?
what does x = (....)(x)
do? x = (....)(x)
是做什么的?
from my guess: (x) is the input for that line根据我的猜测: (x) 是该行的输入
def network(input_shape, num_classes):
img_input = Input(shape=input_shape, name='data')
x = Lambda(convert_to_hsv_and_grayscale)(img_input)
x = Conv2D(16, (5, 5), strides=(1, 1), padding='same', name='conv1')(x)
x = Activation('relu', name='conv1_relu')(x)
x = MaxPooling2D((2, 2), strides=(2, 2), padding='valid', name='pool1')(x)
x = Conv2D(32, (5, 5), strides=(1, 1), padding='same', name='conv2')(x)
x = Activation('relu', name='conv2_relu')(x)
x = MaxPooling2D((2, 2), strides=(2, 2), padding='valid', name='pool2')(x)
x = Conv2D(64, (5, 5), strides=(1, 1), padding='same', name='conv3')(x)
x = Activation('relu', name='conv3_relu')(x)
x = MaxPooling2D((2, 2), strides=(2, 2), padding='valid', name='pool3')(x)
x = Conv2D(128, (5, 5), strides=(1, 1), padding='same', name='conv4')(x)
x = Activation('relu', name='conv4_relu')(x)
x = MaxPooling2D((2, 2), strides=(2, 2), padding='valid', name='pool4')(x)
x = Flatten()(x)
x = Dense(1024, activation='relu', name='fcl1')(x)
x = Dropout(0.2)(x)
x = Dense(256, activation='relu', name='fcl2')(x)
x = Dropout(0.2)(x)
out = Dense(num_classes, activation='softmax', name='predictions')(x)
rez = Model(inputs=img_input, outputs=out)
return rez
Your guess is right.你的猜测是对的。
The first () is the constructor, argument is the ones in __init__
第一个 () 是构造函数,参数是__init__
中的
The second means you are calling __call__
method.第二个意味着您正在调用__call__
方法。 the x
is the argument (the input) of the method x
是方法的参数(输入)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.