强化学习 ---baselines项目之 Atari游戏的网络结构解析
这个baselines项目设计的比较灵活,结构有点复杂。由于项目庞大,各个函数之间又是相互调用,有时候从一个函数追溯下去,可以追溯6,7层,每个函数的超参数又特别多,很容易把人搞晕。 接下来只看DQN部分的源码,其他无关的先不看,沿着一条线分解它!接下来进行一个递归游戏,一层一层的深入探索,探索到尽头再返回,当然中途适当剪剪枝,跟网络图无关的部分先不访问! 首先,我们找 递归入口 ,在deepq下有个 experiments ,这下面全是实例,pong就是一个Atari游戏的实验。 以下是trian_pong的代码 1. from baselines import deepq from baselines import bench from baselines import logger from baselines . common . atari_wrappers import make_atari import numpy as np np . seterr ( invalid = 'ignore' ) def main ( ) : logger . configure ( ) env = make_atari ( 'PongNoFrameskip-v4' ) env = bench . Monitor ( env , logger . get_dir ( ) ) env =