About compute_single_action after training atari breakout

I am a newbie in the field of RL and Rllib. Right now just exploring rllib, training atari ‘breakout’. The difficulty I face is that the making the trained agent to play the game.

The First Problem is that the Agent.compute_single_action(obs) doesn’t automatically preprocess the (1, 210, 160, 3) atari.

So, because of that I tried to use rllibs built-in preprocessor to do so.But it converts the input format
(1, 210, 160, 3) to (1, 84, 84, 3) but the expected input is (?, 84, 84, 4).

So, how do i framestack the frame from 3 to 4 in rllib.


prep = get_preprocessor(env.observation_space)(env.observation_space)
obs = prep.transform(observation)

And is there any other method to solve this?

Ray version==2.0.1