J'ai une couche Conv2D
produisant un tenseur de forme (batch_size, 600, 105, 8)
. Ceci est un lot de spectrogrammes de chanson avec un feature_map de 8. Maintenant, je veux appliquer un "Dense" couche de taille 48 à chaque trame de temps (600) pour produire un tenseur de forme (batch_size, 600, 48)
. Le calque Keras Dense
par défaut ne semble pas le couper ...Comment appliquer une couche dense TimeDistributed à un tenseur de forme (batch_size, 600, 105, 8) pour produire une sortie (batch_size, 600, 48)
Des suggestions?
C'est ma fonction
def build_cnn(input_shape=(None, None, 1),
feature_map_size=8,
num_layers=5,
kernerl_size=(5, 5),
dropout=0.2,
pool_size=(2, 2),
epochs=100,
lr=0.001,
momentum=0.9,
verbose=False):
model = Sequential()
# Add the convolutional layers
for _ in range(num_layers):
# Conv layer
model.add(Conv2D(
feature_map_size,
kernerl_size,
input_shape=input_shape,
padding='same',
activation='elu')
)
# Dropout layer
# model.add(Dropout(dropout))
# Dense layer
model.add(TimeDistributed(Dense(48, activation='elu')))
Si le cadre de temps est 600, qu'est-ce que 105? –
@ DanielMöller Nombre de bacs dans un Magnitude Mel échelle spectrogramme –