View Code? Open in Web Editor
NEW
Minimal Implementation of Convolutional Sequence to Sequence
Python 44.17%
Jupyter Notebook 55.83%
cnn_seq2seq's Introduction
- 卷积端到端的最简实现,可用于实现文档级生成式文摘(然而还是做翻译效果更好)
- python 3.7
- ubuntu 16.04
- pytorch 1.0
- Visdom
- 如果需要预训练词嵌入需自己配置fasttext
- data_presentation.ipynb:数据集统计
- make_pretrained_embedding.ipynb:从fasttext预训练好的词嵌入中挑出模型词典构成嵌入矩阵
- preprocess.ipynb:对cnndm数据集的预处理
- tensor_test.ipynb:其他测试
- conv_seq2seq.py:卷积端到端模型,包括编码器解码器两个类
- deprecated_code.py:一些废弃的代码
- infer.py:模型推理
- layers.py:自定义权重初始化的全连接层、卷积层、遮罩了的时序卷积层
- loss.py:对decoder出来的每一个时间步进行词典范围投影,并计算序列的交叉熵损失,带遮罩
- paramcount.py:统计模型参数量
- parameters.py:模型的所有超参数
- train.py:模型训练
- visualization.py:模型计算图可视化
- model_check:监视模型训练情况,包括训练log,记录的损失以及训练输出
- model_graph:调用可视化得到的模型反向传播计算图
- save_model:保存的模型
- model_output、system_output:得到文摘用于计算ROUGE
![figure](https://github.com/thinkwee/CNN_Seq2Seq/raw/master/sample.png)