ray/rllib/utils/tuple_actions.py

20 lines
740 B
Python
Raw Normal View History

from collections import namedtuple
from ray.rllib.utils.deprecation import deprecation_warning
# NOTE: This is a deprecated class. Use native python tuples
# or dicts (both arbitrarily nested) for multi-actions from here on.
class TupleActions(namedtuple("TupleActions", ["batches"])):
"""Used to return tuple actions as a list of batches per tuple element."""
def __new__(cls, batches):
# Throw an informative error if used.
deprecation_warning(
old="TupleActions",
new="`native python tuples (arbitrarily nested)`",
error=True)
return super(TupleActions, cls).__new__(cls, batches)
def numpy(self):
return TupleActions([b.numpy() for b in self.batches])