{"id":16269290,"url":"https://github.com/thinkwee/cnn_seq2seq","last_synced_at":"2025-04-11T10:17:41.012Z","repository":{"id":79907370,"uuid":"189821544","full_name":"thinkwee/CNN_Seq2Seq","owner":"thinkwee","description":"Minimal Implementation of Convolutional Sequence to Sequence","archived":false,"fork":false,"pushed_at":"2024-11-15T07:44:35.000Z","size":319,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T07:04:24.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thinkwee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-02T08:18:50.000Z","updated_at":"2024-11-29T02:09:57.000Z","dependencies_parsed_at":"2023-06-11T12:30:57.783Z","dependency_job_id":null,"html_url":"https://github.com/thinkwee/CNN_Seq2Seq","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkwee%2FCNN_Seq2Seq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkwee%2FCNN_Seq2Seq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkwee%2FCNN_Seq2Seq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinkwee%2FCNN_Seq2Seq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinkwee","download_url":"https://codeload.github.com/thinkwee/CNN_Seq2Seq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248373181,"owners_count":21093139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T18:07:55.603Z","updated_at":"2025-04-11T10:17:40.975Z","avatar_url":"https://github.com/thinkwee.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CNN_Seq2Seq\n\n-   An end-to-end convolutional implementation, suitable for document-level generative summarization (though it performs better in translation tasks).\n\n# TODO\n-   [x] CNN Encoder\n-   [x] CNN Decoder\n-   [x] Multi-step Attention\n-   [x] Dilation\n-   [x] Log all outputs to Visdom\n-   [ ] Transform CNN to fully connected in Decoder during inference\n-   [ ] Adaptive Softmax\n-   [ ] Efficient memory usage with fp-16\n-   [ ] Expand to other tasks\n\n# Environment\n-   Python 3.7\n-   Ubuntu 16.04\n-   PyTorch 1.0\n-   Visdom\n-   **Note:** Configure FastText for pretrained embeddings if needed.\n\n# Data Acquisition\n-   Create a `data` folder and download the [CNNDM dataset](https://drive.google.com/open?id=1buWz_W4slL2GPt4EPYQI7Lf0kkHfAtLT).\n\n# Preprocessing\n-   Run `preprocess.ipynb`\n\n# Hyperparameter Tuning\n-   See `parameters.py`\n\n# Training\n-   `python train.py`\n\n# Testing\n-   `python infer.py`\n\n# Notebooks for Data Processing\n-\t`data_presentation.ipynb`: Dataset statistics\n-\t`make_pretrained_embedding.ipynb`: Builds embedding matrix from FastText pretrained embeddings\n-\t`preprocess.ipynb`: Preprocessing for the CNNDM dataset\n-\t`tensor_test.ipynb`: Additional tests\n\n# Python Scripts for Model Training and Testing\n-\t`conv_seq2seq.py`: End-to-end convolutional model, including encoder and decoder classes\n-\t`deprecated_code.py`: Deprecated code\n-\t`infer.py`: Model inference\n-\t`layers.py`: Custom weight-initialized fully connected, convolutional, and masked temporal convolutional layers\n-\t`loss.py`: Cross-entropy loss calculation for each time step in the decoder sequence, with masking\n-\t`paramcount.py`: Model parameter count\n-\t`parameters.py`: Model hyperparameters\n-\t`train.py`: Model training\n-\t`visualization.py`: Model computation graph visualization\n\n# Temporary Directories\n-   `model_check`: Monitors training progress, logs, recorded losses, and training outputs\n-   `model_graph`: Backpropagation computation graph visualizations\n-   `save_model`: Saved model files\n-   `model_output`, `system_output`: Outputs for ROUGE evaluation of summarization\n\n# Performance\n![figure](https://github.com/thinkwee/CNN_Seq2Seq/blob/master/sample.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkwee%2Fcnn_seq2seq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinkwee%2Fcnn_seq2seq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinkwee%2Fcnn_seq2seq/lists"}