This repository includes some demo RNN(Recurrent Neural Network) models.
Note: The project refers to 动手学深度学习
Datasets:
dataset1
: JayChou Lyrics
Models
model0
: LanguageModelmodel1
: RNNCellmodel2
: LSTMCellmodel3
: GRUCell
- for loader
# loader0: JayChou Lyrics
PYTHONPATH=. python loaders/loader0.py
- for module
# module1: RNNCell
PYTHONPATH=. python modules/module1.py
# module2: LSTMCell
PYTHONPATH=. python modules/module2.py
# module3: GRUCell
PYTHONPATH=. python modules/module3.py
# module0: LanguageModel using RNNCell
PYTHONPATH=. python modules/module0.py --rnn_type rnn
# module0: LanguageModel using LSTMCell
PYTHONPATH=. python modules/module0.py --rnn_type lstm
# module0: LanguageModel using GRUCell
PYTHONPATH=. python modules/module0.py --rnn_type gru
- for train
PYTHONPATH=. python main.py --mode train
- for predict
PYTHONPATH=. python main.py --mode predict
You can change the config either in the command line or in the file utils/parser.py
Here are the examples for each module:
# rnn train
PYTHONPATH=. python main.py \
--mode train \
--name rnn \
--rnn_type rnn
# rnn predict
PYTHONPATH=. python main.py \
--mode predict \
--name rnn \
--rnn_type rnn \
--epoch 250 \
--prefix 离开
# lstm train
PYTHONPATH=. python main.py \
--mode train \
--name lstm \
--rnn_type lstm
# lstm predict
PYTHONPATH=. python main.py \
--mode predict \
--name lstm \
--rnn_type lstm \
--epoch 250 \
--prefix 离开
# gru train
PYTHONPATH=. python main.py \
--mode train \
--name gru \
--rnn_type gru
# gru predict
PYTHONPATH=. python main.py \
--mode predict \
--name gru \
--rnn_type gru \
--epoch 250 \
--prefix 离开
Note: You can replace the data files in the data
directory to train the model you want.