|
a |
|
b/create_cnn_model.py |
|
|
1 |
from tensorflow.keras.models import Sequential |
|
|
2 |
from tensorflow.keras.layers import Embedding, Conv1D, MaxPooling1D, Flatten, Dense |
|
|
3 |
|
|
|
4 |
def create_cnn_model(input_shape, num_classes): |
|
|
5 |
model = Sequential() |
|
|
6 |
model.add(Embedding(input_dim=10000, output_dim=128, input_length=input_shape[1])) |
|
|
7 |
model.add(Conv1D(filters=64, kernel_size=3, activation='relu')) |
|
|
8 |
model.add(MaxPooling1D(pool_size=2)) |
|
|
9 |
model.add(Conv1D(filters=128, kernel_size=3, activation='relu')) |
|
|
10 |
model.add(MaxPooling1D(pool_size=2)) |
|
|
11 |
model.add(Flatten()) |
|
|
12 |
model.add(Dense(128, activation='relu')) |
|
|
13 |
model.add(Dense(num_classes, activation='softmax')) |
|
|
14 |
|
|
|
15 |
return model |