Skip to main content

Create and visualize workflows consisting of classes, functions, and resources; recognize hyperparameters when needed.

Project description

regime

The regime library offers a precise framework to outline workflows consisting of classes, functions, and resources. The Regime class uses Process and Resource objects to delineate the flow of algorithms and input or output byproducts. Process objects, if inheriting from HyperparameterMeta, can explicitly "tag" hyperparameters by using the hyperparameter decorator; this allows for the clear separation of hyperparameters such as those found in experiments (e.g., alpha, beta) and ordinary arguments (e.g., dataset).

Special features available through regime:

  1. Hyperparameter Recognition: We can always automatically determine what are the hyperparameters from a Process signature. In doing so, this allows us to know which arguments we can safely explore other values.
  2. Hyperparameter Validation: Keeping up with hyperparameters for many processes can quickly become cumbersome - especially in complex workflows. To address this - Regime determines what hyperparameters must be defined to use the required Process objects, and checks that these are provided via a dict instance. This dict follows a hierarchical structure that comes directly from Python modules' paths to ensure that hyperparameters remain unique and their purpose known (i.e., they are nested according to the exact location they are found).
  3. Hyperparameter Logging: Often, hyperparameters require fine-tuning, and after an experiment is performed - if the results are ideal, we wish to store these values for later reuse. The hyperparameters used for a Regime object can easily be exported as .yaml files.
  4. Workflow Visualization: Due to Regime's backend graph to implement the flow of data between Process instances, your program's workflow is readily able to be visualized by using the igraph library! This allows you to dynamically create diagrams showcasing how your program's functions, classes, resources, etc. all interact with each other, and can serve as a form of additional real-time documentation (e.g., PDF file).
  5. Process Inspection: The Regime class inherits from the features implemented in the rough-theory library. This enables Regime instances to leverage operations analyzing discernibility for complex analysis of workflows.

Incorporating regime into your code is straightforward and requires minimal edits!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

regime-0.0.2.tar.gz (11.3 kB view hashes)

Uploaded Source

Built Distribution

regime-0.0.2-py3-none-any.whl (11.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page