Skip to main content

Table 7 Python code for classical CNN model

From: Medical image diagnosis based on adaptive Hybrid Quantum CNN

def MyModel():

# input shape

input_shape = (IMG_SIZE, IMG_SIZE, 4)

# CNN layers

cnn_layers = [

 layers.Conv2D(filters = 256, kernel_size = 3, strides = 1, padding = "same", activation = "tanh"),

 layers.MaxPooling2D(pool_size = (2, 2), strides = (2, 2)),

 layers.Conv2D(filters = 128, kernel_size = 3, strides = 1, padding = "same", activation = "tanh"),

 layers.MaxPooling2D(pool_size = (2, 2), strides = (2, 2)),

 layers.Conv2D(filters = 128, kernel_size = 3, strides = 1, padding = "same", activation = "tanh"),

 layers.MaxPooling2D(pool_size = (2, 2), strides = (2, 2)),

]

# classical layers

dense_layers = [

 layers.Flatten(),

 layers.Dense(128, activation = "relu"),

 layers.Dense(64, activation = "relu"),

 layers.Dense(4, activation = "softmax")

]

# Combine CNN and dense layers

model = models.Sequential([

 layers.Input(shape = input_shape),

 *cnn_layers,

 *dense_layers

])

# Compile the model

opt = keras.optimizers.SGD(lr = 0.01)

model.compile(

 optimizer = opt,

 loss = "sparse_categorical_crossentropy",

 metrics = ["accuracy"],

)

return model