def build(nc, w, h,
loss='categorical_crossentropy',
# optimizer='adadelta'):
optimizer='adam',
metrics=None,
**kwargs):
data_shape = w * h if None not in (w, h) else -1 # TODO: -1 or None?
inp = Input(shape=(h, w, 3), name='image')
enet = encoder.build(inp)
enet = decoder.build(enet, nc=nc)
name = 'enet_unpooling'
# TODO: need to remove data_shape for multi-scale training
enet = Reshape((data_shape, nc))(enet)
enet = Activation('softmax', name='output')(enet)
model = Model(inputs=inp, outputs=enet)
if metrics is None:
metrics = ['accuracy']
model.compile(optimizer=optimizer, loss=loss, metrics=metrics)
return model, name
评论列表
文章目录