一个基于最新版本TensorFlow的Char RNN实现。可以实现生成英文、写诗、歌词、小说、生成代码、生成日文等功能。
- Python 3.6.X
- TensorFlow >= 1.2
训练模型:
python train.py --input_file data/shakespeare.txt --name shakespeare --num_steps 50 --num_seqs 32 --learning_rate 0.01 --max_steps 20000
测试结果:
python sample.py --converter_path model/shakespeare/converter.pkl --checkpoint_path model/shakespeare/ --max_length 1000
训练模型:
python train.py --use_embedding --input_file data/poetry.txt --name poetry --learning_rate 0.005 --num_steps 26 --num_seqs 32 --max_steps 10000
测试结果:
python sample.py --use_embedding --converter_path model/poetry/converter.pkl --checkpoint_path model/poetry/ --max_length 300
novel.txt 为输入训练数据,需要修改为 utf-8 编码,这个需要在notepad里面自行整理
训练模型:
python train.py --use_embedding True --input_file data/novel.txt --num_steps 80 --name novel --learning_rate 0.005 --num_seqs 32 --num_layers 3 --embedding_size 256 --lstm_size 256 --max_steps 1000000
测试结果:
python sample.py --converter_path model/novel/converter.pkl --checkpoint_path model/novel --use_embedding --max_length 20000 --num_layers 3 --lstm_size 256 --embedding_size 256
训练模型:
python train.py --input_file data/jay.txt --num_steps 20 --batch_size 32 --name jay --max_steps 5000 --learning_rate 0.01 --num_layers 3 --use_embedding
测试结果, 其中start_string参数后面为你要创建歌曲的歌名字:
python sample.py --converter_path model/jay/converter.pkl --checkpoint_path model/jay --max_length 500 --use_embedding --num_layers 3 --start_string 我知道
训练模型:
python train.py --input_file data/linux.txt --num_steps 100 --name linux --learning_rate 0.01 --num_seqs 32 --max_steps 20000
生成模型:
python sample.py --converter_path model/linux/converter.pkl --checkpoint_path model/linux --max_length 1000
训练模型:
python train.py --input_file data/jpn.txt --num_steps 20 --batch_size 32 --name jpn --max_steps 10000 --learning_rate 0.01 --use_embedding
生成模型:
python sample.py --converter_path model/jpn/converter.pkl --checkpoint_path model/jpn --max_length 1000 --use_embedding