easydel.infra.etils#

class easydel.infra.etils.EasyDeLBackends(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: str, Enum

Enum defining available backends for EasyDeL. Each enum member represents a different kernel usage approach.

CPU = 'cpu'#
GPU = 'gpu'#
TPU = 'tpu'#
class easydel.infra.etils.EasyDeLGradientCheckPointers(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: str, Enum

Enum defining available gradient checkpointing strategies for EasyDeL. Each enum member represents a different checkpointing approach.

CHECKPOINT_DOTS = 'checkpoint_dots'#
CHECKPOINT_DOTS_WITH_NO_BATCH_DMIS = 'checkpoint_dots_with_no_batch_dims'#
EVERYTHING_SAVEABLE = 'everything_saveable'#
NONE = ''#
NOTHING_SAVEABLE = 'nothing_saveable'#
class easydel.infra.etils.EasyDeLOptimizers(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: str, Enum

Enum defining available optimizers for EasyDeL. Each enum member represents a different optimization algorithm.

ADAFACTOR = 'adafactor'#
ADAMW = 'adamw'#
LION = 'lion'#
RMSPROP = 'rmsprop'#
class easydel.infra.etils.EasyDeLPlatforms(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: str, Enum

Enum defining available platforms for EasyDeL. Each enum member represents a different kernel usage approach.

JAX = 'jax'#
PALLAS = 'pallas'#
TRITON = 'triton'#
class easydel.infra.etils.EasyDeLQuantizationMethods(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: str, Enum

Enum defining available quantization strategies for EasyDeL. Each enum member represents a different quantization approach.

A8BIT = '8bit'#
NF4 = 'nf4'#
NONE = 'None'#
class easydel.infra.etils.EasyDeLSchedulers(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: str, Enum

Enum defining available schedulers for EasyDeL. Each enum member represents a different learning rate schedule.

COSINE = 'cosine'#
LINEAR = 'linear'#
NONE = 'None'#
class easydel.infra.etils.StoreTupleAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)[source]#

Bases: Action

Custom action to store a comma-separated string as a tuple of ints.

easydel.infra.etils.define_flags_with_default(_required_fields: List = None, **kwargs) Tuple[Namespace, Dict[str, Any]][source]#

Defines flags with default values using argparse.

Parameters
  • _required_fields – A dictionary with required flag names

  • **kwargs – Keyword arguments representing flag names and default values.

Returns

  • An argparse.Namespace object containing parsed arguments.

  • A dictionary mapping flag names to default values.

Return type

A tuple containing