This repository contains the experiments done in the work An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling by Shaojie Bai, J. Zico Kolter and Vladlen Koltun.
We specifically target a comprehensive set of tasks that have been repeatedly used to compare the effectiveness of different recurrent networks, and evaluate a simple, generic but powerful (purely) convolutional network on the recurrent nets' home turf.
Experiments are done in PyTorch. If you find this repository helpful, please cite our work:
@article{BaiTCN2018,
author = {Shaojie Bai and J. Zico Kolter and Vladlen Koltun},
title = {An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling},
journal = {arXiv:1803.01271},
year = {2018},
}
Update: The code should be directly runnable with PyTorch 0.4.0 or above (PyTorch 1.0 strongly recommended). The older versions of PyTorch are no longer supported.
This repository contains the benchmarks to the following tasks, with details explained in each sub-directory:
- The Adding Problem with various T (we evaluated on T=200, 400, 600)
- Copying Memory Task with various T (we evaluated on T=500, 1000, 2000)
- Sequential MNIST digit classification
- Permuted Sequential MNIST (based on Seq. MNIST, but more challenging)
- JSB Chorales polyphonic music
- Nottingham polyphonic music
- PennTreebank [SMALL] word-level language modeling (LM)
- Wikitext-103 [LARGE] word-level LM
- LAMBADA [LARGE] word-level LM and textual understanding
- PennTreebank [MEDIUM] char-level LM
- text8 [LARGE] char-level LM
While some of the large datasets are not included in this repo, we use the observations package to download them, which can be easily installed using pip.
Each task is contained in its own directory, with the following structure:
[TASK_NAME] /
data/
[TASK_NAME]_test.py
models.py
utils.py
To run TCN model on the task, one only need to run [TASK_NAME]_test.py
(e.g. add_test.py
). To tune the hyperparameters, one can specify via argument options, which can been seen via the -h
flag.
tcn's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.