def constructNet(input_dim=784,n_hidden=1000,n_out=1000,nb_filter=50,prob=0.5,lr=0.0001):
nb_filters=50
input_img= Input(shape=list(input_dim))
a = input_img
a1 = AtrousConvolution2D(nb_filters, 3, 3,atrous_rate=(1,1),border_mode='same')(a)
b = AtrousConvolution2D(nb_filters, 3, 3,atrous_rate=(1,1),border_mode='same')(a) #We only use the diagonal output from this, TODO: only filter diagonal
a2=Lambda(GetDiag, output_shape=out_diag_shape)(b)
comb=merge([a1,a2],mode='sum')
comb = BatchNormalization()(comb)
a = Activation('relu')(comb)
l=5
for i in range(1,l):
a1 = AtrousConvolution2D(nb_filters, 3, 3,atrous_rate=(l,l),border_mode='same')(a)
b = AtrousConvolution2D(nb_filters, 3, 3,atrous_rate=(l,l),border_mode='same')(a) #We only use the diagonal output from this, TODO: only filter diagonal
a2=Lambda(GetDiag, output_shape=out_diag_shape)(b)
comb=merge([a1,a2],mode='sum')
comb = BatchNormalization()(comb)
a = Activation('relu')(comb)
decoded = Convolution2D(1, 1, 1, activation='sigmoid', border_mode='same')(a)
final=Flatten()(decoded)
model = Model(input_img, final)
model.summary()
model.compile(optimizer='adam', loss='binary_crossentropy')
return model
评论列表
文章目录