Pytorch Reimplementação da geração de frases a partir de um espaço contínuo de Bowman et al. 2015.
Nota: Esta implementação não suporta LSTM's no momento, mas RNN e GRU's.




O treinamento foi interrompido após 4 épocas. O verdadeiro Elbo foi otimizado para aproximadamente 1 época (como pode ser veja no gráfico acima). Os resultados são calculados em média em uma divisão inteira.
| Dividir | Nll | KL |
|---|---|---|
| Trem | 99.821 | 7.944 |
| Validação | 103.220 | 7.346 |
| Teste | 103.967 | 7.269 |
Sentenos foram obtidos após a amostragem de z ~ n (0, i).
senhor . n que não era n com sua própria equipe e o nnnnn
no n do n do u. s. As empresas não devem ser contatadas para comentar
Quando eles estavam n no n e depois eram Nann
Mas a empresa disse que será n até o final do NN e NN
Mas a empresa disse que será nn do U. s. economia
Os sentenos foram obtidos após a amostragem duas vezes a partir de z ~ n (0, i) e interpolando as duas amostras.
A empresa disse que será n com exceção da empresa
Mas a empresa disse que será N, com exceção das ações da empresa em circulação
Mas a empresa disse que a empresa 'SNN e NN
Mas a empresa 'Snn nos últimos dois anos atrás
Mas a empresa 'Snn nos últimos dois anos atrás
Mas nos últimos anos atrás, a empresa 'SNN
Mas nos últimos anos atrás, eles não foram divulgados
Mas nos últimos anos atrás, eles não foram divulgados
Mas em comunicado que eles não estavam cientes dos US $ n milhões nas últimas semanas
Mas em comunicado que eles não foram pagos até o final das últimas semanas
Para executar o treinamento, faça o download dos dados do Penn Tree Bank primeiro (faça o download da página da web de Tomas Mikolov). O código espera encontrar pelo menos ptb.train.txt e ptb.valid.txt no diretório de dados especificado. Os dados também podem ser usados com o script dowloaddata.sh .
Em seguida, o treinamento pode ser executado com o seguinte comando:
python3 train.py
Os seguintes argumentos estão disponíveis:
--data_dir o caminho para o diretório em que os dados do PTB são armazenados e os arquivos de dados auxiliares serão armazenados.
--create_data Se fornecido, novos arquivos de dados auxiliares serão criados formam os dados de origem.
--max_sequence_length Especifica o corte de frases longas.
--min_occ se uma palavra ocorrer menos que "min_occ" tempos no corpus, ela será substituída pelo token.
--test Se fornecido, o desempenho também será medido no conjunto de testes.
-ep , --epochs
-bs , --batch_size
-lr , --learning_rate
-eb , --embedding_size
-rnn , --rnn_type 'rnn' ou 'gru'.
-hs , --hidden_size
-nl , --num_layers
-bi , --bidirectional
-ls , --latent_size
-wd , --word_dropout Word dropout applied to the input of the Decoder, which means words will be replaced by <unk> with a probability of word_dropout .
-ed , --embedding_dropout Word Incorporando o abandono aplicado à entrada do decodificador.
-af , --anneal_function ou 'logística' ou 'linear'.
-k , --k inclinação da função de recozimento logístico.
-x0 , --x0 para 'logística', este é o ponto médio (ou seja, quando o peso é 0,5); Para 'linear', este é o denominador.
-v , --print_every
-tb , --tensorboard_logging Se fornecido, o progresso do treinamento é monitorado com o Tensorboard.
-log , --logdir Diretório de arquivos de log para Tensorboard.
-bin , --save_model_path Diretório onde armazenar pontos de verificação do modelo.
Para obter amostras e interpolar entre os Senteces, a inferência.py pode ser usada.
python3 inference.py -c $CHECKPOINT -n $NUM_SAMPLES