近日,在github上闲逛时发现了一个非常有趣的一个实验,地址如下DeepLearningFlappyBird,见文知意,使用强化学习来教会鸟儿如何通关尽可能多的关卡。
当然,既然是游戏那还是跑起来看一下直观。所以,把代码clone下来后便开启了如下的摸索之旅。
TensorFlow
对于window系统,TensorFlow目前支持Python3.5版本,因此装好Anaconda后安装支持GPU的TensorFlow:
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64.whl
NVIDIA显卡驱动
这一步还是比较重要的,即把显卡驱动更新到最新状态,下载地址,需要根据显卡类型和操作系统来选择合适的显卡驱动。
CUDA套件
下载地址,如上,还是需要根据操作系统类型合版本选择合适的程序。
cuDNN驱动
安装
在显卡驱动和CUDA套件安装好后,把cuDNN压缩文件解压
然后把bin文件夹下的cudnn64_5.dll文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\文件夹下(如果安装路径不一致,请自行修改),前提是path环境变量中添加的确实是这个。
测试
至此,安装结束。TensorFlow默认在GPU上运行。把clone下来的代码载入运行一下:
下图是控制台的输出,可以看出确实是GPU在工作。
下图是训练过程,随着迭代次数的增加,鸟儿通关的次数逐步增加。