Deploy, manage, and scale machine learning applications

Deploy machine learning applications without worrying about setting up infrastructure, managing dependencies, or orchestrating data pipelines.

Get Started GitHub

How it works

Define your app

Define your app using Python, TensorFlow, and PySpark

$ cortex deploy

Deploy end-to-end machine learning pipelines to AWS with one command

Serve predictions

Serve real time predictions via horizontally scalable JSON APIs

End-to-end machine learning workflow

Data ingestion

Connect to your data warehouse and ingest data

- kind: environment name: dev data: type: csv path: s3a://my-bucket/data.csv schema: [@col1, @col2, ...]

Data transformation

Use custom Python and PySpark code to transform data

- kind: transformed_column name: col1_normalized transformer_path: normalize.py input: @col1

Model training

Train models with custom TensorFlow code

- kind: model name: my_model estimator_path: dnn.py input: [@col1_normalized, ...] hparams: hidden_units: [16, 8] training: batch_size: 32 num_steps: 10000

Prediction serving

Serve real time predictions via JSON APIs

- kind: api name: my-api model: @my_model compute: replicas: 3

Deployment

Cortex deploys your pipeline on scalable cloud infrastructure

$ cortex deploy Ingesting data ... Transforming data ... Training models ... Deploying API ... Ready! https://abc.amazonaws.com/my-api

Key features

Machine learning pipelines as code

Cortex deployments are defined using declarative syntax that enables flexibility and reusability

End-to-end machine learning workflow

Cortex spans the machine learning workflow from feature management to model training to prediction serving

TensorFlow and PySpark support

Cortex supports custom Python or PySpark code for data processing and custom TensorFlow code for model training

Open source

Cortex is licensed under the Apache License Version 2.0 and can be deployed in any AWS account in minutes