deepxube.base.nnet_input¶
Definition of NNetInput
Module Contents¶
Classes¶
Defines how some combination of states/goals/actions for a given domain are converted to a representation suitable for a neural network |
|
Has a flat representation for state/goal inputs |
|
Has a 2d representation for state/goal inputs |
|
Data¶
API¶
- deepxube.base.nnet_input.D = 'TypeVar(...)'¶
- deepxube.base.nnet_input.S = 'TypeVar(...)'¶
- deepxube.base.nnet_input.A = 'TypeVar(...)'¶
- deepxube.base.nnet_input.G = 'TypeVar(...)'¶
- class deepxube.base.nnet_input.NNetInput(domain: deepxube.base.nnet_input.D)¶
Bases:
abc.ABC,typing.Generic[deepxube.base.nnet_input.D]Defines how some combination of states/goals/actions for a given domain are converted to a representation suitable for a neural network
Initialization
- abstract get_input_info() Any¶
- Returns:
General information relevant to the construction of the neural network (i.e. expected input dimensions)
- abstract to_np(*args: Any) List[numpy.typing.NDArray]¶
- Parameters:
args – Converts relevant objects to neural network representation as a list of numpy arrays.
- Returns:
List of numpy arrays. For each element in the list, the first dimension must be equal to the number of inputs.
- class deepxube.base.nnet_input.FlatIn(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.NNetInput[deepxube.base.nnet_input.D]- abstract get_input_info() Tuple[List[int], List[int]]¶
- Returns:
A list of dimensions of the arrays given to the neural network (pre one_hot), A list of depths for performing a one_hot representation on
that corresponding input. If 1, then no one_hot is performed.
- class deepxube.base.nnet_input.TwoDIn(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.NNetInput[deepxube.base.nnet_input.D]- abstract get_input_info() Tuple[List[int], Tuple[int, int], List[int], Optional[int]]¶
- Returns:
A list of channels of the arrays given to the neural network (pre one_hot), (height, width),
a list of depths for performing a one_hot representation on that corresponding input, optional 1x1 conv channel out for qfix. The one_hot is applied to the channel dimension. If 1, then no one_hot is performed.
- class deepxube.base.nnet_input.StateGoalIn(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.NNetInput[deepxube.base.nnet_input.D],typing.Generic[deepxube.base.nnet_input.D,deepxube.base.nnet_input.S,deepxube.base.nnet_input.G]- abstract to_np(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G]) List[numpy.typing.NDArray]¶
- class deepxube.base.nnet_input.StateGoalActFixIn(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.NNetInput[deepxube.base.nnet_input.D],typing.Generic[deepxube.base.nnet_input.D,deepxube.base.nnet_input.S,deepxube.base.nnet_input.G,deepxube.base.nnet_input.A]- abstract to_np(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G], actions_l: List[List[deepxube.base.nnet_input.A]]) List[numpy.typing.NDArray]¶
- Parameters:
states – States
goals – Goals
actions_l – Actions. Assumes same number of actions for each state and goal (i.e. each list in list of lists is same length).
- Returns:
List of numpy arrays representing states and goals. The last element in the list of numpy arrays of the input corresponds to the index of the
action
- class deepxube.base.nnet_input.StateGoalActIn(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.NNetInput[deepxube.base.nnet_input.D],typing.Generic[deepxube.base.nnet_input.D,deepxube.base.nnet_input.S,deepxube.base.nnet_input.G,deepxube.base.nnet_input.A]- abstract to_np(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G], actions: List[deepxube.base.nnet_input.A]) List[numpy.typing.NDArray]¶
- class deepxube.base.nnet_input.PolicyNNetIn(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.NNetInput[deepxube.base.nnet_input.D],typing.Generic[deepxube.base.nnet_input.D,deepxube.base.nnet_input.S,deepxube.base.nnet_input.G,deepxube.base.nnet_input.A]- abstract to_np(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G], actions: List[deepxube.base.nnet_input.A]) List[numpy.typing.NDArray]¶
- abstract to_np_fn(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G]) List[numpy.typing.NDArray]¶
For sampling actions
- Parameters:
states – States
goals – Goals
- Returns:
List of numpy array representation for neural network
- abstract nnet_out_to_actions(nnet_out: List[numpy.typing.NDArray[numpy.float64]]) List[deepxube.base.nnet_input.A]¶
Converting nnet output to Actions when sampling actions
- Parameters:
nnet_out – Output of neural network represented as a list of numpy arrays. The first dimension of each element of the list must be equal to the
number of outputs. :return: Actions that the neural network outputs represent
- abstract states_goals_actions_split_idx() int¶
The Policy neural network assumes it will be given the states, goals, and actions during training and that the actions can be separated from the states and goals in the list of numpy arrays.
- Returns:
Index i such that, for input list l, l[i:] only corresponds to representation for actions
- class deepxube.base.nnet_input.FlatInPolicy(domain: deepxube.base.nnet_input.D)¶
Bases:
deepxube.base.nnet_input.FlatIn[deepxube.base.nnet_input.D],deepxube.base.nnet_input.PolicyNNetIn[deepxube.base.nnet_input.D,deepxube.base.nnet_input.S,deepxube.base.nnet_input.G,deepxube.base.nnet_input.A],abc.ABC
- class deepxube.base.nnet_input.DynamicNNetInput(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.domain.Domain[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G],abc.ABC- _nnet_input_register: ClassVar[Dict[str, Type[deepxube.base.nnet_input.NNetInput]]] = 'dict(...)'¶
- classmethod __init_subclass__(**kwargs: Any)¶
- classmethod register_nnet_input(nnet_input_t: Type[deepxube.base.nnet_input.NNetInput], nnet_input_name: str) None¶
- Parameters:
nnet_input_t – NNetInput type
nnet_input_name – name of neural network input
- Returns:
- classmethod get_dynamic_nnet_inputs() Dict[str, Type[deepxube.base.nnet_input.NNetInput]]¶
- Returns:
Neural network inputs that can be dynamically created for class.
- class deepxube.base.nnet_input.HasFlatSGIn(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.nnet_input.DynamicNNetInput[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G]Has a flat representation for state/goal inputs
Initialization
- class FlatSGConcrete(domain: deepxube.base.nnet_input.HasFlatSGIn)¶
Bases:
deepxube.base.nnet_input.FlatIn[deepxube.base.nnet_input.HasFlatSGIn],deepxube.base.nnet_input.StateGoalIn[deepxube.base.nnet_input.HasFlatSGIn,deepxube.base.domain.State,deepxube.base.domain.Goal]- get_input_info() Tuple[List[int], List[int]]¶
- to_np(states: List[deepxube.base.domain.State], goals: List[deepxube.base.domain.Goal]) List[numpy.typing.NDArray]¶
- classmethod __init_subclass__(**kwargs: Any) None¶
- abstract get_input_info_flat_sg() Tuple[List[int], List[int]]¶
- Returns:
A list of dimensions of the arrays given to the neural network (pre one_hot), A list of depths for performing a one_hot representation on
that corresponding input. If 1, then no one_hot is performed.
- abstract to_np_flat_sg(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G]) List[numpy.typing.NDArray]¶
- Parameters:
states – States
goals – Goals
- Returns:
Flat (1D) representation
- class deepxube.base.nnet_input.HasActsEnumFixedIn(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.domain.Domain[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G]- abstract actions_to_indices(actions: List[deepxube.base.nnet_input.A]) List[int]¶
- Parameters:
actions – Actions
- Returns:
Index they correspond to for fixed nnet output
- class deepxube.base.nnet_input.HasFlatSGActsEnumFixedIn(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.nnet_input.HasFlatSGIn[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G],deepxube.base.nnet_input.HasActsEnumFixedIn[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G],abc.ABC- class FlatSGActFixConcrete(domain: deepxube.base.nnet_input.HasFlatSGActsEnumFixedIn)¶
Bases:
deepxube.base.nnet_input.FlatIn[deepxube.base.nnet_input.HasFlatSGActsEnumFixedIn],deepxube.base.nnet_input.StateGoalActFixIn[deepxube.base.nnet_input.HasFlatSGActsEnumFixedIn,deepxube.base.domain.State,deepxube.base.domain.Goal,deepxube.base.domain.Action]- get_input_info() Tuple[List[int], List[int]]¶
- to_np(states: List[deepxube.base.domain.State], goals: List[deepxube.base.domain.Goal], actions_l: List[List[deepxube.base.domain.Action]]) List[numpy.typing.NDArray]¶
- classmethod __init_subclass__(**kwargs: Any) None¶
- class deepxube.base.nnet_input.HasFlatSGAIn(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.nnet_input.DynamicNNetInput[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G]- class FlatSGAConcrete(domain: deepxube.base.nnet_input.HasFlatSGAIn)¶
Bases:
deepxube.base.nnet_input.FlatIn[deepxube.base.nnet_input.HasFlatSGAIn],deepxube.base.nnet_input.StateGoalActIn[deepxube.base.nnet_input.HasFlatSGAIn,deepxube.base.domain.State,deepxube.base.domain.Goal,deepxube.base.domain.Action]- get_input_info() Tuple[List[int], List[int]]¶
- to_np(states: List[deepxube.base.domain.State], goals: List[deepxube.base.domain.Goal], actions: List[deepxube.base.domain.Action]) List[numpy.typing.NDArray]¶
- classmethod __init_subclass__(**kwargs: Any) None¶
- abstract get_input_info_flat_sga() Tuple[List[int], List[int]]¶
- Returns:
A list of dimensions of the arrays given to the neural network (pre one_hot), A list of depths for performing a one_hot representation on
that corresponding input. If 1, then no one_hot is performed.
- abstract to_np_flat_sga(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G], actions: List[deepxube.base.nnet_input.A]) List[numpy.typing.NDArray]¶
- Parameters:
states – States
goals – Goals
actions – Actions
- Returns:
Flat (1D) representation
- class deepxube.base.nnet_input.HasTwoDSGIn(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.nnet_input.DynamicNNetInput[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G]Has a 2d representation for state/goal inputs
Initialization
- class TwoDSGConcrete(domain: deepxube.base.nnet_input.HasTwoDSGIn)¶
Bases:
deepxube.base.nnet_input.TwoDIn[deepxube.base.nnet_input.HasTwoDSGIn],deepxube.base.nnet_input.StateGoalIn[deepxube.base.nnet_input.HasTwoDSGIn,deepxube.base.domain.State,deepxube.base.domain.Goal]- get_input_info() Tuple[List[int], Tuple[int, int], List[int], Optional[int]]¶
- to_np(states: List[deepxube.base.domain.State], goals: List[deepxube.base.domain.Goal]) List[numpy.typing.NDArray]¶
- classmethod __init_subclass__(**kwargs: Any) None¶
- abstract get_input_info_2d_sg() Tuple[List[int], Tuple[int, int], List[int], Optional[int]]¶
- Returns:
A list of channels of the arrays given to the neural network (pre one_hot), (height, width),
a list of depths for performing a one_hot representation on that corresponding input, optional 1x1 conv channel out for qfix. The one_hot is applied to the channel dimension. If 1, then no one_hot is performed.
- abstract to_np_2d_sg(states: List[deepxube.base.nnet_input.S], goals: List[deepxube.base.nnet_input.G]) List[numpy.typing.NDArray]¶
- Parameters:
states – List of states
goals – List of goals
- Returns:
list of arrays representing states and goals in (chan, height, width) format
- class deepxube.base.nnet_input.HasTwoDSGActsEnumFixedIn(*args: Any, **kwargs: Any)¶
Bases:
deepxube.base.nnet_input.HasTwoDSGIn[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G],deepxube.base.nnet_input.HasActsEnumFixedIn[deepxube.base.nnet_input.S,deepxube.base.nnet_input.A,deepxube.base.nnet_input.G],abc.ABC- class TwoDSGActFixConcrete(domain: deepxube.base.nnet_input.HasTwoDSGActsEnumFixedIn)¶
Bases:
deepxube.base.nnet_input.TwoDIn[deepxube.base.nnet_input.HasTwoDSGActsEnumFixedIn],deepxube.base.nnet_input.StateGoalActFixIn[deepxube.base.nnet_input.HasTwoDSGActsEnumFixedIn,deepxube.base.domain.State,deepxube.base.domain.Goal,deepxube.base.domain.Action]- get_input_info() Tuple[List[int], Tuple[int, int], List[int], Optional[int]]¶
- to_np(states: List[deepxube.base.domain.State], goals: List[deepxube.base.domain.Goal], actions_l: List[List[deepxube.base.domain.Action]]) List[numpy.typing.NDArray]¶
- classmethod __init_subclass__(**kwargs: Any) None¶