deepxube.base.nnet_input

Definition of NNetInput

Module Contents

Classes

NNetInput

Defines how some combination of states/goals/actions for a given domain are converted to a representation suitable for a neural network

FlatIn

TwoDIn

StateGoalIn

StateGoalActFixIn

StateGoalActIn

PolicyNNetIn

FlatInPolicy

DynamicNNetInput

HasFlatSGIn

Has a flat representation for state/goal inputs

HasActsEnumFixedIn

HasFlatSGActsEnumFixedIn

HasFlatSGAIn

HasTwoDSGIn

Has a 2d representation for state/goal inputs

HasTwoDSGActsEnumFixedIn

Data

D

S

A

G

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