Gerando músicas de LoFi usando Variational Auto Encoders
Desenvolvemos 3 tipos de VAE, baseados em diferentes famílias de camadas:
DenseVAE para VAEs convencionais,
Conv1DVAE para VAEs com convolução 1D, e
LSTMVAE para VAEs com camadas LSTM.
Rode o comando python train.py [args] dentro da pasta src.
O primeiro argumento após o nome do arquivo informará o tipo do modelo que será treinado: dense, conv ou lstm. Veja a seção de hiperparâmetros para saber os demais argumentos referentes a cada tipo de modelo.
Rode o comando python sample.py [args] dentro da pasta src. Os argumentos terão de ser iguais aos argumentos passados ao modelo treinado que desejas fazer uma sample.
num_layers: Número de camadas tanto no Encoder e Decoderlatent_dim: Tamanho da dimensão latenteinput_neurons: Número de neurônios na primeira camada do Encoder/penúltima camada do Decoderoutput_nerons: Número de neurônios na última camada do Encoder/primeira camada do Decodernum_epochs: Número de épocas para treinar o modelo.
num_conv_layers: Número de camadas convolucionais no Encoder e no Decodernum_dense_layers: Número de camadas densas no Encoder e no Decoderlatent_dim: Tamanho da dimensão latenteinput_neurons: Número de neurônios na primeira camada do Encoder/penúltima camada do Decoderoutput_nerons: Número de neurônios na última camada do Encoder/primeira camada do Decoderinitial_channels: Número de canais gerados pela primeira camada convolucional do Encoderfactor: Fator multiplicativo para a sequência do número de canais nas camadas convolucionaisnum_epochs: Número de épocas para treinar o modelo.
num_layers: Número de camadas tanto no Encoder e Decoderlatent_dim: Tamanho da dimensão latenteoutput_nerons: Número de neurônios na última camada do Encoder/primeira camada do Decodermiddle_ground: Número de neurônios na camada intermediária entre a saída do LSTMDecoder e o tamanho originalnum_epochs: Número de épocas para treinar o modelo.