Skip to content

Commit 6203abd

Browse files
authored
Merge pull request #52 from GoogleCloudPlatform/feature/monitoring
Feature/monitoring
2 parents e9ab281 + 7ca4041 commit 6203abd

File tree

91 files changed

+1386
-1519
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1386
-1519
lines changed

AutoMLOps_User_Guide.pdf

193 KB
Binary file not shown.

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
11
# Change Log
22
All notable changes to this project will be documented in this file.
33

4+
## [1.2.9] - 2024-1-18
5+
6+
### Added
7+
8+
- Added `setup_model_monitoring` parameter to `AutoMLOps.generate` and orchestration/configs.py
9+
- Added the creation of a model_monitoring/ directory and `create_model_monitoring_job.sh` script to generate
10+
- Added a new `AutoMLOps.monitor` function, along with relevant templates and tests
11+
- Added in a monitoring section into the generated `config/defaults.yaml` file
12+
- Added `logging.googleapis.com` to the list of potentially required apis.
13+
- Created 2 new functions for giving warnings when running `AutoMLOps.monitor`: `get_model_monitoring_min_permissions` and `get_model_monitoring_recommended_roles` in utils.py
14+
15+
### Changed
16+
17+
- Updated the `services/submission_service/main.py.j2` to include elements for automatic retraining based on monitoring anomaly logs, and adding in labels to the submit.
18+
- Updated `services/submission_service/requirements.txt` to include google-cloud-storage.
19+
- Updated the `README.md.j2` to reflect the optional creation of the new model_monitoring/ directory.
20+
- Changed the format for how `config/defaults.yaml` file gets written; this file is now written using the `write_yaml_file` function (yaml.safe_dump) in utils.py.
21+
- Updated the `account_permissions_warning` function in utils.py to include a new operation: `operation='model_monitoring'`
22+
- Updated the introductory example, readme, and user guide to reflect the new monitoring capabilities.
23+
- Renamed `validate_schedule` in utils.py to `validate_use_ci` to reflect new requirements for model monitoring.
24+
25+
### Fixed
26+
427
## [1.2.8] - 2024-1-09
528

629
### Added

README.md

Lines changed: 99 additions & 16 deletions
Large diffs are not rendered by default.

assets/deploy/CICD-bitbucket.png

186 KB
Loading

assets/deploy/CICD-default.png

194 KB
Loading

assets/deploy/CICD-github.png

190 KB
Loading

assets/deploy/CICD-gitlab.png

191 KB
Loading

assets/monitor/monitor-default.png

564 KB
Loading
227 KB
Loading

examples/inferencing/00_batch_prediction_example.ipynb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"metadata": {},
88
"outputs": [],
99
"source": [
10-
"# Copyright 2023 Google LLC\n",
10+
"# Copyright 2024 Google LLC\n",
1111
"#\n",
1212
"# Licensed under the Apache License, Version 2.0 (the \"License\");\n",
1313
"# you may not use this file except in compliance with the License.\n",
@@ -103,6 +103,7 @@
103103
"- [compute.googleapis.com](https://cloud.google.com/compute/docs/reference/rest/v1)\n",
104104
"- [iam.googleapis.com](https://cloud.google.com/iam/docs/reference/rest)\n",
105105
"- [iamcredentials.googleapis.com](https://cloud.google.com/iam/docs/reference/credentials/rest)\n",
106+
"- [logging.googleapis.com](https://cloud.google.com/logging/docs/reference/v2/rest)\n",
106107
"- [pubsub.googleapis.com](https://cloud.google.com/pubsub/docs/reference/rest)\n",
107108
"- [run.googleapis.com](https://cloud.google.com/run/docs/reference/rest)\n",
108109
"- [storage.googleapis.com](https://cloud.google.com/storage/docs/apis)\n",
@@ -337,13 +338,14 @@
337338
"- `AutoMLOps.component(...)`: Defines a component, which is a containerized python function.\n",
338339
"- `AutoMLOps.pipeline(...)`: Defines a pipeline, which is a series of components.\n",
339340
"\n",
340-
"AutoMLOps provides 5 functions for building and maintaining MLOps pipelines:\n",
341+
"AutoMLOps provides 6 functions for building and maintaining MLOps pipelines:\n",
341342
"\n",
342343
"- `AutoMLOps.generate(...)`: Generates the MLOps codebase. Users can specify the tooling and technologies they would like to use in their MLOps pipeline.\n",
343344
"- `AutoMLOps.provision(...)`: Runs provisioning scripts to create and maintain necessary infra for MLOps.\n",
344345
"- `AutoMLOps.deprovision(...)`: Runs deprovisioning scripts to tear down MLOps infra created using AutoMLOps.\n",
345346
"- `AutoMLOps.deploy(...)`: Builds and pushes component container, then triggers the pipeline job.\n",
346-
"- `AutoMLOps.launchAll(...)`: Runs `generate()`, `provision()`, and `deploy()` all in succession. \n",
347+
"- `AutoMLOps.launchAll(...)`: Runs `generate()`, `provision()`, and `deploy()` all in succession.\n",
348+
"- `AutoMLOps.monitor(...)`: Creates model monitoring jobs on deployed endpoints.\n",
347349
"\n",
348350
"Please see the [readme](https://github.com/GoogleCloudPlatform/automlops/blob/main/README.md) for more information."
349351
]
@@ -521,9 +523,7 @@
521523
"outputs": [],
522524
"source": [
523525
"@AutoMLOps.pipeline #(name='automlops-pipeline', description='This is an optional description')\n",
524-
"def pipeline(bq_table: str,\n",
525-
" data_path: str,\n",
526-
" project_id: str,\n",
526+
"def pipeline(project_id: str,\n",
527527
" bigquery_destination: str,\n",
528528
" bq_dataset_path: str,\n",
529529
" instances_format: str,\n",
@@ -568,8 +568,6 @@
568568
"outputs": [],
569569
"source": [
570570
"pipeline_params = {\n",
571-
" 'bq_table': f'{PROJECT_ID}.test_dataset.dry-beans-inferencing',\n",
572-
" 'data_path': f'gs://{PROJECT_ID}-bucket/data.csv',\n",
573571
" 'project_id': PROJECT_ID,\n",
574572
" 'bigquery_destination': f'bq://{PROJECT_ID}.test_dataset.dry-beans-inferencing-results',\n",
575573
" 'bq_dataset_path': f'bq://{PROJECT_ID}.test_dataset.dry-beans-inferencing',\n",

0 commit comments

Comments
 (0)