--
You received this message because you are subscribed to the Google Groups "Keras-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to keras-users...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/keras-users/196ba212-c2a3-4f4a-9850-1b54c5f09347n%40googlegroups.com.
Sure thing, I’ve stripped out what I deemed not necessary. If i’ve removed something critical let me know. Thanks
if __name__ == '__main__':
num_cols = 160
num_rows = 200
num_classes = 3
# yields batches of images/segments in the shape (batches,num_rows,num_cols,1),(batches,num_rows,num_cols,num_classes)
train_generator = image_segmentation_generator(image_path,
segments_path,
batch_size=20,
n_classes=num_classes,
input_height= num_rows,
input_width=num_cols,
output_height= num_rows,
output_width=num_cols)
model = BuildModel()
model.compile(optimizer= keras.optimizers.Adam(learning_rate=0.001) ,loss = 'categorical_crossentropy', metrics=['categorical_accuracy'])
model.fit_generator(train_generator,verbose=0,steps_per_epoch =20,epochs = 15,callbacks=[csv_logger,cb,mcp_save],class_weight= {0:0.75,1:0.075,2:0.175} )
def BuildModel(startingLayers = 14, convolutionSize = (3,3)):
#num_cols = 160
#num_rows = 200
#num_classes = 3
img_input = keras.layers.Input(shape=(num_cols,num_rows,1))# 8bit monochrome image scaled to 0 - 1
conv1 = Conv2D(startingLayers, convolutionSize, activation='relu', padding='same')(img_input)
conv1 = Dropout(0.2)(conv1)
conv1 = Conv2D(startingLayers, convolutionSize, activation='relu', padding='same')(conv1)
pool1 = MaxPooling2D((2, 2))(conv1)
conv2 = Conv2D(startingLayers*2, convolutionSize, activation='relu', padding='same')(pool1)
conv2 = Dropout(0.2)(conv2)
conv2 = Conv2D(startingLayers*2, convolutionSize, activation='relu', padding='same')(conv2)
pool2 = MaxPooling2D((2, 2))(conv2)
conv3 = Conv2D(startingLayers*4, convolutionSize, activation='relu', padding='same')(pool2)
conv3 = Dropout(0.2)(conv3)
conv3 = Conv2D(startingLayers*4, convolutionSize, activation='relu', padding='same')(conv3)
up1 = concatenate([UpSampling2D((2, 2))(conv3), conv2], axis=-1)
conv4 = Conv2D(startingLayers*2, convolutionSize, activation='relu', padding='same')(up1)
conv4 = Dropout(0.2)(conv4)
conv4 = Conv2D(startingLayers*2, convolutionSize, activation='relu', padding='same')(conv4)
up2 = concatenate([UpSampling2D((2, 2))(conv4), conv1], axis=-1)
conv5 = Conv2D(startingLayers, convolutionSize, activation='relu', padding='same')(up2)
conv5 = Dropout(0.2)(conv5)
conv5 = Conv2D(startingLayers, convolutionSize, activation='relu', padding='same')(conv5)
out = Conv2D( num_classes, (1, 1) , padding='same')(conv5)
out2 = Reshape((num_cols*num_rows,-1))(out)
out3= Activation("softmax")(out)
return Model(inputs = img_input,outputs = out3 )