You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Benchmark for Compressed Buffers (on MsPacmanNoFrameskip-v4)
Frame Stack & Vec Envs: both 4
Buffer Size: 40,000 (split across 4 vectorized environments)
Loading Test: Sample all trajectories from rollout buffers with batch size of 64, target device: mps. SB3's RolloutBuffer stores np.float32 observations so it's 4x the size of np.uint8.
Settings: The example DQN / PPO model loaded and evaluated using the code in examples, DQN for saving test, PPO for loading test. The exact same observations are stored into each buffer for fairness. Latency refers to the total number of seconds spent on adding observation to the specific buffer and baseline refers to using ReplayBuffer directly.
TLDR:
zstd in general is very decent at save latency & memory saving, personally I recommend zstd-3.
zstd-1 ~ zstd-5 seems to be the sweet spot.
gzip0 should be avoided, saving / loading has similar latency as zstd-5, but 13x bigger.
MsPacman at 84x84 resolution is too visually noisy for rle , although decompression isn't half-bad