Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

microcosm-sagemaker

Opinionated machine learning with SageMaker

Usage

For best practices, see cookiecutter-microcosm-sagemaker.

Profiling

Make sure pyinstrument is installed, either using pip install pyinstrument or by installing microcosm-sagemaker with profiling extra dependencies:

pip install -e '.[profiling]'

To enable profiling of the app, use the --profile flag with runserver:

runserver --profile

The service will log that it is in profiling mode and announce the directory to which it is exporting. Each call to the endpoint will be profiled and its results with be stored in a time-tagged html file in the profiling directory.

Experiment Tracking

To use Weights and Biases, install microcosm-sagemaker with wandb extra depdency:

pip install -e '.[wandb]'

To enable experiment tracking in an ML repository:

  • Choose the experiment tracking stores for your ML model. It is recommended to store metrics in both wandb and Amazon cloudwatch. To do so, add wandb and cloudwatch to graph.use() in app_hooks/train/app.py and app_hooks/evaluate/app.py.

  • Add the API key for wandb to your ML model's config.json file:

{
    "wandb": {
        "api_key": "XXXXXX"
    }
}
  • To define hyperparameters for your model:
from microcosm.api import defaults, binding
from microcosm_sagemaker.bundle import Bundle
from microcosm_sagemaker.hyperparameters import hyperparameter

@binding("my_classifier")
@defaults(
    param = 10,
    hyperparam = hyperparameter(20),
)
class MyClassifier(Bundle):
    ...

That automatically adds the hyperparameters to your experiment, which simplifies hyperparameter optimization and tuning.

  • To report a static metric:
class MyClassifier(Bundle):
    ...

    def fit(self, input_data):
        ...
        self.experiment_metrics.log_static(<metric_name>=<metric_value>)
  • To report a time-series metric:
class MyClassifier(Bundle):
    ...

    def fit(self, input_data):
        ...
        self.experiment_metrics.log_timeseries(
            <metric_name>=<metric_value>,
            step=<step_number>
        )

Note that the step keyword argument must be provided for logging time-series.

Release files for microcosm-sagemaker 0.2095.dev2095

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

Source distribution (sdist)

Source distribution for microcosm-sagemaker 0.2095.dev2095
File Size Uploaded
microcosm-sagemaker-0.2095.dev2095.tar.gz 26.2 kB Details

Release files / microcosm-sagemaker-0.2095.dev2095.tar.gz

Download URL microcosm-sagemaker-0.2095.dev2095.tar.gz
Size 26.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e32c795e2eacb36a0a3fc752b3feea53a4a82681e68403a32aff109bb40ba59d
BLAKE2b-256 checksum
How to use checksums
09d3c4d0e3bba4a1517739ec8f85e22199b6958bdb03956e6d1bdb68b9e1f6af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.7.7

Release history Release notifications | RSS feed

This release

0.2095.dev2095 This release

1 release file

0.9.5

1 release file

0.9.4

1 release file

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.13

1 release file

0.8.12

1 release file

0.8.10

1 release file

0.8.9

1 release file

0.8.7

1 release file

0.8.6

1 release file

0.8.5

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.3

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

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