Jump to: navigation, search

Difference between revisions of "Cognitive"

m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Machine Learning as a Service
 
 
== What is Cognitive? ==
 
 
 
Cognitive is a multi-tenant interactive machine learning service on top of Openstack.  It has python bindings for api access. Alternatively, cognitive provides an interactive UI where users can log in to the system using username and password.
 
Cognitive is a multi-tenant interactive machine learning service on top of Openstack.  It has python bindings for api access. Alternatively, cognitive provides an interactive UI where users can log in to the system using username and password.
  
Line 9: Line 5:
 
=== Users ===
 
=== Users ===
  
post /api/v1/users/ - Create a new user in the system
+
* post /api/v1/users/ - Create a new user in the system
get /api/v1/users/ -  Lists all users in the system
+
* get /api/v1/users/ -  Lists all users in the system
put /api/v1/users/{pk}/ - Update an user in the system
+
* put /api/v1/users/{pk}/ - Update an user in the system
get /api/v1/users/{pk}/ - Retrieve an user in the system
+
* get /api/v1/users/{pk}/ - Retrieve an user in the system
delete /api/v1/users/{pk}/ - Delete a user in the system
+
* delete /api/v1/users/{pk}/ - Delete a user in the system
  
  
Line 19: Line 15:
  
 
Each system user has a separate workspace of experiments. The number is limited as per the user quota set by the admin.  
 
Each system user has a separate workspace of experiments. The number is limited as per the user quota set by the admin.  
post  /api/v1/experiments/ - Create an experiment for a particular user
+
* post  /api/v1/experiments/ - Create an experiment for a particular user
get /api/v1/experiments/ - Lists all experiments for a particular user
+
* get /api/v1/experiments/ - Lists all experiments for a particular user
put /api/v1/experiments/{exp_id}/ - pdate an experiment for a particular user
+
* put /api/v1/experiments/{exp_id}/ - pdate an experiment for a particular user
get /api/v1/experiments/{exp_id}/ - Retrieve an experiment for a particular user
+
* get /api/v1/experiments/{exp_id}/ - Retrieve an experiment for a particular user
delete /api/v1/experiments/{exp_id}/ - Delete an experiment for a particular user
+
* delete /api/v1/experiments/{exp_id}/ - Delete an experiment for a particular user
  
 
=== Components ===
 
=== Components ===
  
 
Each experiment has multiple components, which are connected to form a single workflow. Workflows specify the flow of data from the data source to data sink through various data transformations. Each component specifies one data tranformation or data processing method.  Each component knows its lineage so that whole workflow can be re-executed on failures.  
 
Each experiment has multiple components, which are connected to form a single workflow. Workflows specify the flow of data from the data source to data sink through various data transformations. Each component specifies one data tranformation or data processing method.  Each component knows its lineage so that whole workflow can be re-executed on failures.  
 
+
* post /api/v1/components/{component}/ - Create a component in an experiment. Component can be a data input source, data transformation method like applying mathematical formula on columns, normalizing column values etc,  data modification method like add/remove rows, column projection etc, filtering method like removal of duplicates or missing values, machine learning models like different types of classification, clustering or regression models
post /api/v1/components/{component}/ - Create a component in an experiment. Component can be a data input source, data transformation method like applying mathematical formula on columns, normalizing column values etc,  data modification method like add/remove rows, column projection etc, filtering method like removal of duplicates or missing values, machine learning models like different types of classification, clustering or regression models
+
* get /api/v1/components/{component}/ - Retrieve all components of an experiment
get /api/v1/components/{component}/ - Retrieve all components of an experiment
+
* put /api/v1/components/{component}/{component_id}/ - Update a component in an experiment
put /api/v1/components/{component}/{component_id}/ - Update a component in an experiment
+
* get /api/v1/components/{component}/{component_id}/ - Retrieve a component in an experiment
get /api/v1/components/{component}/{component_id}/ - Retrieve a component in an experiment
+
* delete /api/v1/components/{component}/{component_id}/ - Delete a component in an experiment
delete /api/v1/components/{component}/{component_id}/ - Delete a component in an experiment
 
  
 
=== Workflows ===
 
=== Workflows ===
  
 
Every workflow is persisted which enables user to load or update previously created workflows.  
 
Every workflow is persisted which enables user to load or update previously created workflows.  
post /api/v1/workflows/ - Create a workflow graph for an experiment and start execution  
+
* post /api/v1/workflows/ - Create a workflow graph for an experiment and start execution  
put /api/v1/workflows/{workflow_id}/ - Update the workflow graph for an experiment
+
* put /api/v1/workflows/{workflow_id}/ - Update the workflow graph for an experiment
delete /api/v1/workflows/{workflow_id}/ - Delete the workflow graph for an experiment
+
* delete /api/v1/workflows/{workflow_id}/ - Delete the workflow graph for an experiment

Latest revision as of 02:15, 22 May 2015

Cognitive is a multi-tenant interactive machine learning service on top of Openstack. It has python bindings for api access. Alternatively, cognitive provides an interactive UI where users can log in to the system using username and password.

API

Users

  • post /api/v1/users/ - Create a new user in the system
  • get /api/v1/users/ - Lists all users in the system
  • put /api/v1/users/{pk}/ - Update an user in the system
  • get /api/v1/users/{pk}/ - Retrieve an user in the system
  • delete /api/v1/users/{pk}/ - Delete a user in the system


Experiments

Each system user has a separate workspace of experiments. The number is limited as per the user quota set by the admin.

  • post /api/v1/experiments/ - Create an experiment for a particular user
  • get /api/v1/experiments/ - Lists all experiments for a particular user
  • put /api/v1/experiments/{exp_id}/ - pdate an experiment for a particular user
  • get /api/v1/experiments/{exp_id}/ - Retrieve an experiment for a particular user
  • delete /api/v1/experiments/{exp_id}/ - Delete an experiment for a particular user

Components

Each experiment has multiple components, which are connected to form a single workflow. Workflows specify the flow of data from the data source to data sink through various data transformations. Each component specifies one data tranformation or data processing method. Each component knows its lineage so that whole workflow can be re-executed on failures.

  • post /api/v1/components/{component}/ - Create a component in an experiment. Component can be a data input source, data transformation method like applying mathematical formula on columns, normalizing column values etc, data modification method like add/remove rows, column projection etc, filtering method like removal of duplicates or missing values, machine learning models like different types of classification, clustering or regression models
  • get /api/v1/components/{component}/ - Retrieve all components of an experiment
  • put /api/v1/components/{component}/{component_id}/ - Update a component in an experiment
  • get /api/v1/components/{component}/{component_id}/ - Retrieve a component in an experiment
  • delete /api/v1/components/{component}/{component_id}/ - Delete a component in an experiment

Workflows

Every workflow is persisted which enables user to load or update previously created workflows.

  • post /api/v1/workflows/ - Create a workflow graph for an experiment and start execution
  • put /api/v1/workflows/{workflow_id}/ - Update the workflow graph for an experiment
  • delete /api/v1/workflows/{workflow_id}/ - Delete the workflow graph for an experiment