model / Cnn.md
mayss14's picture
Create Cnn.md
ca93a72 verified

import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, MaxPooling1D, Flatten, Dense, Dropout, BatchNormalization

-------------------------

Construction du modèle CNN

-------------------------

def build_cnn_model(input_shape, num_classes, filter1, filter2, filter3, learning_rate, dropout): model = Sequential()

# 1er bloc convolution
model.add(Conv1D(filters=filter1, kernel_size=3, activation='relu', padding='same', input_shape=input_shape))
model.add(BatchNormalization())
model.add(MaxPooling1D(pool_size=2))

# 2e bloc
model.add(Conv1D(filters=filter2, kernel_size=3, activation='relu', padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling1D(pool_size=2))

# 3e bloc
model.add(Conv1D(filters=filter3, kernel_size=3, activation='relu', padding='same'))
model.add(BatchNormalization())
model.add(MaxPooling1D(pool_size=2))

# Fully connected
model.add(Flatten())
model.add(Dense(256, activation='relu'))
model.add(Dropout(dropout))
model.add(Dense(num_classes, activation='softmax'))

model.compile(
    optimizer=tf.keras.optimizers.Adam(learning_rate=learning_rate),
    loss='categorical_crossentropy',
    metrics=['accuracy']
)

return model