Skip to content

Instantly share code, notes, and snippets.

@rdelassus
Created February 27, 2017 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rdelassus/420828e0e2454d36c3aca549c960c94c to your computer and use it in GitHub Desktop.
Save rdelassus/420828e0e2454d36c3aca549c960c94c to your computer and use it in GitHub Desktop.
inputs = Input(shape=(img_rows, img_cols, 3))
# encoding layers
layer0 = ZeroPadding2D(padding=(2, 2))(inputs)
layer0 = Convolution2D(50, 5, 5, border_mode='valid')(layer0)
layer0 = Activation('relu')(layer0)
layer0 = MaxPooling2D(pool_size=(pool_size, pool_size))(layer0)
layer1 = ZeroPadding2D(padding=(2, 2))(layer0)
layer1 = Convolution2D(70, 5, 5, border_mode='valid')(layer1)
layer1 = Activation('relu')(layer1)
layer1 = MaxPooling2D(pool_size=(pool_size, pool_size))(layer1)
layer2 = ZeroPadding2D(padding=(1, 1))(layer1)
layer2 = Convolution2D(100, 3, 3, border_mode='valid')(layer2)
layer2 = Activation('relu')(layer2)
layer2 = MaxPooling2D(pool_size=(pool_size, pool_size))(layer2)
layer3 = ZeroPadding2D(padding=(1, 1))(layer2)
layer3 = Convolution2D(150, 3, 3, border_mode='valid')(layer3)
layer3 = Activation('relu')(layer3)
layer3 = MaxPooling2D(pool_size=(pool_size, pool_size))(layer3)
layer4 = ZeroPadding2D(padding=(1, 1))(layer3)
layer4 = Convolution2D(100, 3, 3, border_mode='valid')(layer4)
layer4 = Activation('relu')(layer4)
layer4 = MaxPooling2D(pool_size=(pool_size, pool_size))(layer4)
layer5 = ZeroPadding2D(padding=(1, 1))(layer4)
layer5 = Convolution2D(70, 3, 3, border_mode='valid')(layer5)
layer5 = Activation('relu')(layer5)
layer6 = ZeroPadding2D(padding=(1, 1))(layer5)
layer6 = Convolution2D(70, 3, 3, border_mode='valid')(layer6)
layer6 = Activation('relu')(layer6)
layer1_2x = UpSampling2D(size=(2, 2))(layer1)
layer2_4x = UpSampling2D(size=(4, 4))(layer2)
layer3_8x = UpSampling2D(size=(8, 8))(layer3)
layer6_16x = UpSampling2D(size=(16, 16))(layer6)
merged = merge([layer1_2x, layer2_4x, layer3_8x, layer6_16x],
mode='concat', concat_axis=3)
merged = Convolution2D(
CLASSES, 1, 1, border_mode='valid')(merged)
predictions = Reshape(
((label_rows / 2) * (label_cols / 2), CLASSES))(merged)
predictions = Activation('softmax')(predictions)
predictions = Reshape(
((label_rows / 2), (label_cols / 2), CLASSES))(predictions)
predictions = UpSampling2D(size=(2, 2))(predictions)
model = Model(input=inputs, output=predictions)
model.compile(loss="categorical_crossentropy", optimizer='rmsprop',
metrics=['categorical_accuracy']
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment