Bowman等人的Pytorch重新实现了从连续空间产生句子的成就。 2015。
注意:此实现目前不支持LSTM,而是RNN和GRU的。




4个时代后停止了训练。 True Elbo已针对大约1个时代进行了优化(如上图所示,可以参见上图)。结果在整个拆分中平均。
| 分裂 | nll | KL |
|---|---|---|
| 火车 | 99.821 | 7.944 |
| 验证 | 103.220 | 7.346 |
| 测试 | 103.967 | 7.269 |
从Z〜N(0,i)采样后获得了哨兵。
先生 。 n与自己的员工和Nnnnn不是N
在u的n的n中。 s。公司不可能发表评论
当他们在n中n时,然后他们是南安(Nann)
但是该公司表示,到NN和NN结束时将是N
但是该公司表示将是U的NN。 s。经济
从z〜n(0,i)采样两次并插值两个样品后,已获得了哨兵。
该公司表示,除了公司外,它将是n
但是该公司表示,除了公司发行股份以外,这将是n
但是该公司表示该公司的SNN和NN
但是该公司在过去两年前的SNN
但是该公司在过去两年前的SNN
但是在过去的几年前,该公司的SNN
但是在过去的几年前,他们没有被披露
但是在过去的几年前,他们没有被披露
但是在一份声明中,他们不知道过去几周的$ n百万美元
但是在过去几周结束时没有付款的声明中
要运行培训,请先下载Penn Tree Bank数据(从Tomas Mikolov的网页下载)。该代码期望在指定的数据目录中至少找到ptb.train.txt和ptb.valid.txt 。数据也可以使用dowloaddata.sh脚本进行。
然后可以使用以下命令执行培训:
python3 train.py
以下参数可用:
--data_dir将存储PTB数据的目录的路径,并将存储辅助数据文件。
--create_data如果提供,将创建新的辅助数据文件,形成源数据。
--max_sequence_length指定切断长句子的切断。
--min_occ如果一个单词的出现小于语料库中的“ min_occ”时间,则将被令牌代替。
--test如果提供,则还将在测试集上测量性能。
-ep , --epochs
-bs , --batch_size
-lr , --learning_rate
-eb , --embedding_size
-rnn , --rnn_type “ rnn'或'gru'。
-hs , --hidden_size
-nl , --num_layers
-bi , --bidirectional
-ls , --latent_size
-wd , --word_dropout Word摘要应用于<unk>器的输入,这意味着单词将被word_dropout的概率替换为。
-ed , --embedding_dropout Word嵌入液位应用于解码器的输入。
-af , --anneal_function “ logistic”或“ lineare”。
-k , --k逻辑退火功能的陡度。
-x0 , --x0用于“ logistic”,这是中点(即重量为0.5时);对于“线性”,这是分母。
-v , --print_every
-tb , --tensorboard_logging如果提供,则用张板监视培训进度。
-log , --logdir目录的张量板的日志文件。
-bin , --save_model_path目录在哪里存储模型检查点。
为了获得样品和在发件人之间的插值,可以使用推理。py。
python3 inference.py -c $CHECKPOINT -n $NUM_SAMPLES