Tianshou/tianshou/env/utils.py

22 lines
606 B
Python
Raw Normal View History

from typing import Any, Tuple
2020-03-11 09:09:56 +08:00
import cloudpickle
import numpy as np
gym_old_venv_step_type = Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]
gym_new_venv_step_type = Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray,
np.ndarray]
2020-03-11 09:09:56 +08:00
class CloudpickleWrapper(object):
"""A cloudpickle wrapper used in SubprocVectorEnv."""
2020-04-04 21:02:06 +08:00
def __init__(self, data: Any) -> None:
2020-03-11 09:09:56 +08:00
self.data = data
2020-03-11 09:38:14 +08:00
def __getstate__(self) -> str:
2020-03-11 09:09:56 +08:00
return cloudpickle.dumps(self.data)
2020-03-11 09:38:14 +08:00
def __setstate__(self, data: str) -> None:
2020-03-11 09:09:56 +08:00
self.data = cloudpickle.loads(data)