mayss14 commited on
Commit
ca93a72
·
verified ·
1 Parent(s): a57034a

Create Cnn.md

Browse files
Files changed (1) hide show
  1. Cnn.md +38 -0
Cnn.md ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import tensorflow as tf
2
+ from tensorflow.keras.models import Sequential
3
+ from tensorflow.keras.layers import Conv1D, MaxPooling1D, Flatten, Dense, Dropout, BatchNormalization
4
+
5
+ # -------------------------
6
+ # Construction du modèle CNN
7
+ # -------------------------
8
+ def build_cnn_model(input_shape, num_classes, filter1, filter2, filter3, learning_rate, dropout):
9
+ model = Sequential()
10
+
11
+ # 1er bloc convolution
12
+ model.add(Conv1D(filters=filter1, kernel_size=3, activation='relu', padding='same', input_shape=input_shape))
13
+ model.add(BatchNormalization())
14
+ model.add(MaxPooling1D(pool_size=2))
15
+
16
+ # 2e bloc
17
+ model.add(Conv1D(filters=filter2, kernel_size=3, activation='relu', padding='same'))
18
+ model.add(BatchNormalization())
19
+ model.add(MaxPooling1D(pool_size=2))
20
+
21
+ # 3e bloc
22
+ model.add(Conv1D(filters=filter3, kernel_size=3, activation='relu', padding='same'))
23
+ model.add(BatchNormalization())
24
+ model.add(MaxPooling1D(pool_size=2))
25
+
26
+ # Fully connected
27
+ model.add(Flatten())
28
+ model.add(Dense(256, activation='relu'))
29
+ model.add(Dropout(dropout))
30
+ model.add(Dense(num_classes, activation='softmax'))
31
+
32
+ model.compile(
33
+ optimizer=tf.keras.optimizers.Adam(learning_rate=learning_rate),
34
+ loss='categorical_crossentropy',
35
+ metrics=['accuracy']
36
+ )
37
+
38
+ return model