xxxxxxxxxx
@startuml
!define ROOT_PACKAGE_NESTING_SEPARATOR $
package Model {
class Sequential {
+ add(layer: Layer): void
}
abstract class Layer
class Embedding {
- input_dim: int
- output_dim: int
- input_length: int
+ activation: ActivationFunction
}
class Conv1D {
- filters: int
- kernel_size: int
+ activation: ActivationFunction
}
class GlobalMaxPooling1D
class Dense {
- units: int
+ activation: ActivationFunction
}
abstract class ActivationFunction
class Sigmoid
class ReLU
}
Model.Sequential -> Model.Layer
Model.Layer <|- Model.Embedding
Model.Layer <|- Model.Conv1D
Model.Layer <|- Model.GlobalMaxPooling1D
Model.Layer <|- Model.Dense
Model.ActivationFunction <|-- Model.Sigmoid
Model.ActivationFunction <|-- Model.ReLU
Model.Embedding --> Model.ActivationFunction
Model.Conv1D --> Model.ActivationFunction
Model.Dense --> Model.ActivationFunction
@enduml
xxxxxxxxxx
model = Sequential()
model.add(Embedding(vocab_size, 56, input_length=max_len))
model.add(Conv1D(64, 5, activation='relu'))
model.add(GlobalMaxPooling1D())
model.add(Dense(1, activation='sigmoid'))
model = Sequential()
model.add(Embedding(vocab_size, 56, input_length=max_len))
model.add(Conv1D(64, 5, activation='relu'))
model.add(GlobalMaxPooling1D())
model.add(Dense(1, activation='sigmoid'))