View source on GitHub |
Interface defining executor factories.
ExecutorFactory
should be considered to own the executors it creates; it
is responsible for their instantiation and management.
ExecutorFactory
exposes two methods, create_executor
and
clean_up_executors
. There is a particular coupling between these two
methods; any executor returned by create_executor
should not be used
after clean_up_executors
has been called without reinitialization. That is,
create_executor
should be called again, and ExecutorFactory
will ensure
that the returned executor is safe for use.
Methods
clean_up_executor
@abc.abstractmethod
clean_up_executor( cardinalities:
tff.framework.CardinalitiesType
)
Releases any resources associated to the given cardinalities.
Note that calling this method may invalidate the state of any executors
which have previously been returned by the factory with the cardinalities
argument ; create_executor
should be called again if a new executor which
is safe to use is desired.
Args | |
---|---|
cardinalities
|
The cardinalities of the executor whose state we wish to clear. |
create_executor
@abc.abstractmethod
create_executor( cardinalities:
tff.framework.CardinalitiesType
) -> executor_base.Executor
Abstract method to construct instance of executor_base.Executor
.
create_executor
must accept a dict mapping
placements.PlacementLiterals
to ints
, and return an
executor_base.Executor
.
Args | |
---|---|
cardinalities
|
a dict mapping instances of placements.PlacementLiteral
to ints, specifying the population size at each placement.
|
Returns | |
---|---|
Instance of executor_base.Executor .
|