Executor

Inheritance Diagram

Inheritance diagram of ashpy.losses.executor.Executor

class ashpy.losses.executor.Executor(fn=None)[source]

Bases: object

Carry a function and the way of executing it. Given a context.

Methods

__init__([fn]) Initialize the Executor.
call(context, **kwargs) Execute the function, using the information provided by the context.
reduce_loss(call_fn) Create a Decorator to reduce Losses.

Attributes

fn Return the Keras loss function to execute.
global_batch_size Global batch size comprises the batch size for each cpu.
weight Return the loss weight.
__init__(fn=None)[source]

Initialize the Executor.

Parameters:fn (tf.keras.losses.Loss) – A Keras Loss to execute.
Return type:None
Returns:None
call(context, **kwargs)[source]

Execute the function, using the information provided by the context.

Parameters:context (ashpy.contexts.Context) – The function execution Context.
Return type:Tensor
Returns:tf.Tensor – Output Tensor.
fn

Return the Keras loss function to execute.

Return type:Loss
Returns:tf.keras.losses.Loss – Keras Loss.
global_batch_size

Global batch size comprises the batch size for each cpu.

Calculated as batch_size_for_replica*replica_numbers.

Return type:int
Returns:int – Global Batch size value.
static reduce_loss(call_fn)[source]

Create a Decorator to reduce Losses. Used to simplify things.

Apply a reduce sum operation to the loss and divide the result by the batch size.

Parameters:call_fn (typing.Callable) – The executor call method.
Return type:Callable
Returns:typing.Callable – The decorated function.
weight

Return the loss weight.

This weight is multiplied by the loss value. This is useful when working with multiples losses.

Return type:Callable[…, float]
Returns:typing.Callable – Callable returning the weight (float).