Reputation: 629
I try to make deep-learning model from this Article
# My code now
img_rows, img_cols = 3280, 2464
input_shape = (1, img_rows, img_cols)
model = Sequential()
model.add(Conv2D(64, (3, 3), activation='relu', input_shape=input_shape))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(Conv2D(128, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(256, (3, 3), activation='relu'))
model.add(Conv2D(256, (3, 3), activation='relu'))
model.add(Conv2D(256, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(512, (3, 3), activation='relu'))
model.add(Conv2D(512, (3, 3), activation='relu'))
model.add(Conv2D(512, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(512, (3, 3), activation='relu'))
model.add(Conv2D(512, (3, 3), activation='relu'))
model.add(Conv2D(512, (3, 3), activation='relu'))
As you can see from picture, it has branch layers(In red rectangle) then concatenate later.
How to do that properly in Keras, or I need to use tensorflow?
Upvotes: 0
Views: 58
Reputation: 1117
Don't implement the network with a sequential API, use the functional API of keras, with that it's a piece of cake.
This is an example of concatenation of parallel layers with the functional API of keras.
branchA = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(input_layer)
branchB = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(input_layer)
branchC = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(input_layer)
branchC = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(branchC )
branchD = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(input_layer)
branchD = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(branchD )
branchD = Conv3D(filters=filters, kernel_size=kernel_size, padding='same')(branchD )
finconc = concatenate([branchA, branchB, branchC, branchD], axis=-1)
reference here: https://keras.io/guides/functional_api/
Upvotes: 2