Skip to content

Commit

Permalink
Merged in demo-notebooks (pull request #14)
Browse files Browse the repository at this point in the history
add demo notebooks

* add demo notebooks
  • Loading branch information
JoaquinRivesGambin committed Nov 9, 2023
1 parent ef61c53 commit 1b9cf6a
Show file tree
Hide file tree
Showing 30 changed files with 5,123 additions and 18 deletions.
27 changes: 9 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,33 +45,24 @@ To set up the platform locally, execute the [`setup.sh`](setup.sh) script. For a

Dive into our demo examples to see the platform in action:

> TODO
- **Jupyter Notebooks (e2e)**:

[//]: # (- **Jupyter Notebooks**:)
- [Demo Wine quality ML pipeline.](tutorials/demo_notebooks/demo_pipeline)

[//]: # ( - Explore ML pipelines related to wine quality analysis.)
- [Demo Fairness and energy monitoring pipeline.](tutorials/demo_notebooks/demo_fairness_and_energy_monitoring)

[//]: # ( - Investigate fairness and energy monitoring in ML pipelines.)

[//]: # ( - [Demo Notebooks](tutorials/demo_notebooks))
- **Project Use-Case (e2e)**:

[//]: # ()
[//]: # (- **Project Use-Case**:)
- TODO

[//]: # ( - Examine the RD/IML4E Siemens use-case featuring TTPLA/YOLACT.)
- **ML tools demos**:

[//]: # ( - [Siemens Use-Case Project](https://bitbucket.org/siloai/rd-iml4e-ttpla-siemens-usecase/src/master/))
- [Try out MLflow](tutorials/ml_components_demos/try-mlflow)

[//]: # ()
[//]: # (- **Interactive Tutorials**:)
- [Try out Kubeflow Pipelines](tutorials/ml_components_demos/try-kubeflow-pipelines)

[//]: # ( - Get hands-on with MLflow, Kubeflow Pipelines, and KServe through these interactive resources:)

[//]: # ( - [Try out MLflow](tutorials/resources/try-mlflow))

[//]: # ( - [Try out Kubeflow Pipelines](tutorials/resources/try-kubeflow-pipelines))

[//]: # ( - [Try out Kserve](tutorials/resources/try-kserve))
- [Try out Kserve](tutorials/ml_components_demos/try-kserve)

## High-Level Architecture Overview

Expand Down
5 changes: 5 additions & 0 deletions tutorials/demo_notebooks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## Demo notebooks

- Wine quality ML pipeline: [demo_pipeline](./demo_pipeline)

- [Fairness and energy monitoring pipeline.](./demo_fairness_and_energy_monitoring)

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,283 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus-server-conf
labels:
name: prometheus-server-conf
data:
prometheus.rules: |-
groups:
- name: devopscube demo alert
rules:
- alert: High Pod Memory
expr: sum(container_memory_usage_bytes) > 1
for: 1m
labels:
severity: slack
annotations:
summary: High Memory Usage
- alert: Training Data Disparate Impact
expr: Tr_D_DI{job="kubernetes-service-endpoints"} < 0.8 or Tr_D_DI{job="kubernetes-service-endpoints"} > 1.2
for: 1m
labels:
severity: slack
annotations:
summary: Disparate impact unfairness
- alert: Training Data Statistical Parity
expr: Tr_D_SP{job="kubernetes-service-endpoints"} < -0.2 or Tr_D_SP{job="kubernetes-service-endpoints"} > 0.2
for: 1m
labels:
severity: slack
annotations:
summary: Statistical parity unfairness
- alert: Test Data Disparate Impact
expr: Te_D_DI{job="kubernetes-service-endpoints"} < 0.8 or Te_D_DI{job="kubernetes-service-endpoints"} > 1.2
for: 1m
labels:
severity: slack
annotations:
summary: Disparate impact unfairness
- alert: Test Data Statistical Parity
expr: Te_D_SP{job="kubernetes-service-endpoints"} < -0.2 or Te_D_SP{job="kubernetes-service-endpoints"} > 0.2
for: 1m
labels:
severity: slack
annotations:
summary: Statistical parity unfairness
- alert: Model Accuracy
expr: M_Acc{job="kubernetes-service-endpoints"} < 0.7
for: 1m
labels:
severity: slack
annotations:
summary: Low Accuracy
- alert: Model Disparate Impact
expr: M_DI{job="kubernetes-service-endpoints"} < 0.8 or M_DI{job="kubernetes-service-endpoints"} > 1.2
for: 1m
labels:
severity: slack
annotations:
summary: Disparate impact unfairness
- alert: Model Statistical Parity
expr: M_SP{job="kubernetes-service-endpoints"} < -0.2 or M_SP{job="kubernetes-service-endpoints"} > 0.2
for: 1m
labels:
severity: slack
annotations:
summary: Statistical parity unfairness
- alert: Model Averge Odds Difference
expr: M_AOD{job="kubernetes-service-endpoints"} < -0.1 or M_AOD{job="kubernetes-service-endpoints"} > 0.1
for: 1m
labels:
severity: slack
annotations:
summary: Average odds difference unfairness
- alert: Model Equal Oppoturnity Difference
expr: M_EOD{job="kubernetes-service-endpoints"} < -0.2 or M_EOD{job="kubernetes-service-endpoints"} > 0.2
for: 1m
labels:
severity: slack
annotations:
summary: Equal oppoturnity difference unfairness
- alert: Model Theil Index
expr: M_TI{job="kubernetes-service-endpoints"} > 0.05
for: 1m
labels:
severity: slack
annotations:
summary: Theil index unfairness
prometheus.yml: |-
# my global config
global:
scrape_interval: 15s # By default, scrape targets every 15 seconds.
evaluation_interval: 15s # By default, scrape targets every 15 seconds.
# scrape_timeout is set to the global default (10s).
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
# - 'alert.rules'
# - "first.rules"
# - "second.rules"
- /etc/prometheus/prometheus.rules
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- "alertmanager.monitoring.svc:9093"
# - "alertmanager:9093"
# A scrape configuration containing exactly one endpoint to scrape:
scrape_configs:
# Here it's Prometheus itself.
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# Override the global default and scrape targets from this job every 5 seconds.
scrape_interval: 5s
static_configs:
- targets: ['localhost:9090']
#- job_name: 'prometheus-pushgateway'
# scrape_interval: 10s
# static_configs:
# - targets: ['prometheus-pushgateway.monitoring.svc.cluster.local:9091']
- job_name: 'k8services'
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
action: drop
regex: default;kubernetes
- source_labels:
- __meta_kubernetes_namespace
regex: default
action: keep
- source_labels: [__meta_kubernetes_service_name]
target_label: job
- job_name: 'k8pods'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_container_port_name]
regex: metrics
action: keep
- source_labels: [__meta_kubernetes_pod_container_name]
target_label: job
- job_name: 'node-exporter'
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_endpoints_name]
regex: 'node-exporter'
action: keep
# Collects all the metrics from the API servers
- job_name: 'kubernetes-apiservers'
kubernetes_sd_configs:
- role: endpoints
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
relabel_configs:
- source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name]
action: keep
regex: default;kubernetes;https
# Collects all the kubernetes node metrics
- job_name: 'kubernetes-nodes'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics
# Pod metrics will get discovered and scraped if the pod metadata is annotated
# with prometheus.io/scrape and prometheus.io/port annotations.
- job_name: 'kubernetes-pods'
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: kubernetes_pod_name
# Collects all cAdvisor metrics
- job_name: 'kubernetes-cadvisor'
scheme: https
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- target_label: __address__
replacement: kubernetes.default.svc:443
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor
# Scrapes Service endpoints if the service metadata is annotated
# with prometheus.io/scrape and prometheus.io/port annotations
- job_name: 'kubernetes-service-endpoints'
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: __scheme__
regex: (https?)
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
action: replace
target_label: __address__
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: kubernetes_name
Loading

0 comments on commit 1b9cf6a

Please sign in to comment.