Currently we have both wrap_train and gen_pong_env which have similar but not well-delineated roles. It'd probably be better to add a frame_stack= option to the gen_pong* methods, which would get propogated down to frame_stack= option in wrap_deepmind or wrap_deepmind_ram, which would then make an appropriate FrameStack call. In the case of RAM, since FrameStack requires 2d input, you might have to add a wrapper that makes the RAM 2D, then apply framestack, then add a wrapper that converts back to 1d
Currently we have both
wrap_train
andgen_pong_env
which have similar but not well-delineated roles. It'd probably be better to add aframe_stack=
option to thegen_pong*
methods, which would get propogated down toframe_stack=
option inwrap_deepmind
orwrap_deepmind_ram
, which would then make an appropriateFrameStack
call. In the case of RAM, sinceFrameStack
requires 2d input, you might have to add a wrapper that makes the RAM 2D, then apply framestack, then add a wrapper that converts back to 1d