Executor¶
Inheritance Diagram
-
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
).
-