Skip to main content

easy_module_attribute_getter

Installation:

pip install easy_module_attribute_getter

Simple example, using PytorchGetter which extends EasyModuleAttributeGetter:

1. Specify class names and arguments in your yaml config file:

models:
  modelA:
    densenet121:
      pretrained: True
      memory_efficient: True
  modelB:
    resnext50_32x4d:
      pretrained: True
losses:
  lossA:
    CrossEntropyLoss:
  lossB:
    L1Loss:

2. Read yaml file, and get objects from modules:

from easy_module_attribute_getter import YamlReader, PytorchGetter
yaml_reader = YamlReader()
args, _, _ = yaml_reader.load_yamls(['example.yaml'])
pytorch_getter = PytorchGetter()
models = pytorch_getter.get_multiple("model", args.models)
losses = pytorch_getter.get_multiple("loss", args.losses)

"models" is a dictionary with keys "modelA" and "modelB" as specified in the yaml file. The values are the loaded objects, which in this case are PyTorch models. The same is true for "losses".

Easily register your own modules into an existing getter.

from pytorch_metric_learning import losses, miners, samplers 
pytorch_getter = PytorchGetter()
pytorch_getter.register('loss', losses) 
pytorch_getter.register('miner', miners)
pytorch_getter.register('sampler', samplers)
metric_loss = pytorch_getter.get('loss', class_name='TripletMarginLoss', return_uninitialized=True)
kl_div_loss = pytorch_getter.get('loss', class_name='KLDivLoss', return_uninitialized=True)

In the above example, the 'loss' key already exists, so the 'losses' module will be appended to the existing module. Both modules are searched when get() or get_multiple() is used. For example, metric_loss contains an object from the pytorch_metric_learning library, whil kl_div_loss contains an object from the PyTorch library, which was registered by default.

Release files for easy-module-attribute-getter 0.9.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for easy-module-attribute-getter 0.9.13
File Size Uploaded
easy_module_attribute_getter-0.9.13.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for easy-module-attribute-getter 0.9.13
File Interpreter ABI Platform
easy_module_attribute_getter-0.9.13-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / easy_module_attribute_getter-0.9.13.tar.gz

Download URL easy_module_attribute_getter-0.9.13.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
c61b7055b17b24021c13717b21883217f0c74c60f72bfdc9026f3aa15df4ca43
BLAKE2b-256 checksum
How to use checksums
f77fe536e3e4412c3186da07009d8566fb15fd526b8a9c6f1495cc3d6f501b2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / easy_module_attribute_getter-0.9.13-py3-none-any.whl

Download URL easy_module_attribute_getter-0.9.13-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdd3e9cf7ec39f19565245c72e364f6afb305deee4ad72eeaeee3c8d7a90b6a8
BLAKE2b-256 checksum
How to use checksums
059f4000990b5cc62b4a31189b813952bcce770aa5e7f0096358d79cd436ee44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page