Skip to content

sunkwei/mxnet_tetris

Repository files navigation

训练rnn网络,自己玩俄罗斯方块

通过训练一个GRU网络,学习“一个新的形状出现到形状不能动为止”的用户键盘操作序列,让模型自己玩俄罗斯方块游戏。

基本思路

俄罗斯方块本质是一个二位数组,这个可以认为是一个单通道的“image”,用户的键盘输入则是当前 image 下的“label”。

因此可以有两种思路:

  • 图像分类:输入游戏的当前数组作为一副图像,输出的分类标签就是当前的键盘操作(左,右,下,旋转...)
  • rnn序列预测:从形状出现到结束,对应这一个用户键盘的操作序列,照理说,这种序列比静态的图像分类有更强的鲁棒性;

尝试一下?

生成样本:

生成训练样本, 将在 rnn_train 子目录中生成大量npz文件, 每个npz中存储了图像+按键序列.

python game.py train

生成测试样本

python game.py val

训练

python train_rnn.py

一个更好的方式是“在线训练”:

python game.py online

About

基于mxnet训练rnn网络, 玩俄罗斯方块

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages