1 t2vec.py 函数
命令行参数
data | 训练、测试数据路径 |
checkpoint | 保存的检查点路径 |
prefix | trjfile的前缀 |
pretrained_embedding | 预训练的词(或称为单元)嵌入的路径 。默认值是None 。 |
num_layers | RNN单元中的层数。默认值是3 |
bidirectional | 在编码器中是否使用双向rnn。默认值是True 。 |
hidden_size | RNN单元中的隐藏状态大小。默认值是256。 |
embedding_size | 词(或称为单元)嵌入的大小。默认值是256。 |
dropout | dropout的概率。默认值是0.2 |
max_grad_norm | 最大梯度范数。默认值是5.0。 |
learning_rate | 学习率。默认值是0.001 |
batch | 批处理大小。默认值是128 |
generator_batch | 每次生成的最大词数。数值越高,需要的内存越多。默认值是32。 |
t2vec_batch | 每次在t2vec中编码的最大轨迹数。默认值是256。 |
start_iteration | 开始的迭代次数。默认值是0。 |
epochs | 训练的周期数。默认值是15。 |
print_freq | 打印频率。默认值是50。 |
save_freq : | 保存频率。默认值是1000。 |
cuda | 是否使用GPU来训练模型。默认值是True 。 |
use_discriminative | 如果给定此参数,将使用判别损失。 |
discriminative_w | 判别损失的权重。默认值是0.1 |
criterion_name | 使用的损失函数名称。可以是NLL(负对数似然)或KLDIV(KL 散度)。默认值是NLL 。 |
knearestvocabs | KLDIVLoss中使用的k最近的单元和距离的文件,由预处理生成,如果使用KLDIVLoss则必需。 |
dist_decay_speed | 在dist2weight中距离衰减的速度。数值越小,远离的单元的权重越高。默认值是0.8。 |
max_num_line | 默认值是20000000 |
max_length | 目标序列的最大长度。默认值是200 |
mode | 运行模式(0: 训练,1:评估,2:t2vec)。默认值是0 |
vocab_size | 词汇表大小。默认值是0 |
bucketsize | 训练时的桶大小。默认值是一系列的元组
|
2 train t2vec
几个注意事项:
numpy 版本不能过高 1.23以下
原github给的vocab_size有点问题,调整到20000就好了