Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sunkwei/mxnet_tetris

基于mxnet训练rnn网络, 玩俄罗斯方块
https://github.com/sunkwei/mxnet_tetris

Last synced: 2 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# 训练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