google / dopamine

Dopamine is a research framework for fast prototyping of reinforcement learning algorithms.
https://github.com/google/dopamine
Apache License 2.0
10.57k stars 1.37k forks source link

ValueError: There is not enough capacity to cover update_horizon and stack_size. #98

Open EmmaNguyen opened 5 years ago

EmmaNguyen commented 5 years ago

Hello,

I got an un-explainable issue related to dopamine

My current setup for infrastructure is T4 - 70GB memory with minimizing configurations (Less than 10 for almost every parameter).

Here is an issue:

ValueError: There is not enough capacity to cover update_horizon and stack_size.
  In call to configurable 'WrappedPrioritizedReplayBuffer' (<function WrappedPrioritizedReplayBuffer.__init__ at 0x7f75fcab5510>)
  In call to configurable 'DQNAgent' (<function DQNAgent.__init__ at 0x7f75fca9ebf8>)
  In call to configurable 'RainbowAgent' (<function RainbowAgent.__init__ at 0x7f75fcaa1a60>)
  In call to configurable 'create_agent' (<function create_agent at 0x7f75fcaa16a8>)
  In call to configurable 'Runner' (<function Runner.__init__ at 0x7f75fc9fc8c8>)
  In call to configurable 'create_runner' (<function create_runner at 0x7f75fc9fc730>)

What I understand is that there isn't enough memory. I test this hypothesis by a simple starting experiment. Nonetheless, it still yields the same error.

Any comment would be very helpful. Thanks

mgbellemare commented 5 years ago

Hi,

This is coming from here: https://github.com/google/dopamine/blob/master/dopamine/replay_memory/circular_replay_buffer.py#L140

The issue is that you are trying to use a replay memory which has small capacity. What did you set this parameter to? Was there a reason for using a small replay memory? 70Gb should easily allow for replay_capacity=1000000 even for Atari.