thu-ml / tianshou

An elegant PyTorch deep reinforcement learning library.
https://tianshou.org
MIT License
7.85k stars 1.12k forks source link

AssertionError: Cannot interact with environment 7 which is stepping now. #755

Closed jaried closed 1 year ago

jaried commented 2 years ago
Traceback (most recent call last):
  File "D:\Tony\Documents\yunpan\invest\2022\Quant\code\myclasses\factor\myfactor.py", line 745, in wrapper
    func(*args, **kw)
  File "D:\Tony\Documents\yunpan\invest\2022\Quant\code\myclasses\Securities_trading\SacAgent2.py", line 334, in train
    _result = offpolicy_trainer(
  File "D:\Anaconda3\lib\site-packages\tianshou\trainer\offpolicy.py", line 133, in offpolicy_trainer
    return OffpolicyTrainer(*args, **kwargs).run()
  File "D:\Anaconda3\lib\site-packages\tianshou\trainer\base.py", line 455, in run
    deque(self, maxlen=0)  # feed the entire iterator into a zero-length deque
  File "D:\Anaconda3\lib\site-packages\tianshou\trainer\base.py", line 317, in __next__
    test_stat, self.stop_fn_flag = self.test_step()
  File "D:\Anaconda3\lib\site-packages\tianshou\trainer\base.py", line 346, in test_step
    test_result = test_episode(
  File "D:\Anaconda3\lib\site-packages\tianshou\trainer\utils.py", line 22, in test_episode
    collector.reset_env()
  File "D:\Anaconda3\lib\site-packages\tianshou\data\collector.py", line 427, in reset_env
    super().reset_env(gym_reset_kwargs)
  File "D:\Anaconda3\lib\site-packages\tianshou\data\collector.py", line 136, in reset_env
    rval = self.env.reset(**gym_reset_kwargs)
  File "D:\Anaconda3\lib\site-packages\tianshou\env\venvs.py", line 198, in reset
    self._assert_id(id)
  File "D:\Anaconda3\lib\site-packages\tianshou\env\venvs.py", line 179, in _assert_id
    assert i not in self.waiting_id, \
AssertionError: Cannot interact with environment 7 which is stepping now.
jaried commented 1 year ago

I use SubprocVectorEnv, test_env_num=14, test_wait_num=10, I changed test_env_num and test_wait_num to be the same, so far there is no error.