Skip to content

Commit

Permalink
Update machine-learning-version-control.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ShawnJackson authored Dec 9, 2016
1 parent a88e118 commit bce4c5b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions articles/machine-learning/machine-learning-version-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ After it's opened, you can save the snapshot experiment as a new experiment and
If you delete the experiment, all snapshots of that experiment are deleted.

### Export/import experiment in JSON format
The run history snapshots keep an immutable version of the experiment in Azure Machine Learning Studio every time it is submitted to run. You can also save a local copy of the experiment and check it in to your favorite source control system, such as Team Foundation Server, and later on re-create an experiment from that local file. You can use the [Azure Machine Learning PowerShell](http://aka.ms/amlps) cmdlets [*Export-AmlExperimentGraph*](https://github.com/hning86/azuremlps#export-amlexperimentgraph) and [*Import-AmlExperimentGraph*](https://github.com/hning86/azuremlps#import-amlexperimentgraph) to accomplish that.
The run history snapshots keep an immutable version of the experiment in Azure Machine Learning Studio every time it is submitted to run. You can also save a local copy of the experiment and check it in to your favorite source control system, such as Team Foundation Server, and later on re-create an experiment from that local file. You can use the [Azure Machine Learning PowerShell](http://aka.ms/amlps) commandlets [*Export-AmlExperimentGraph*](https://github.com/hning86/azuremlps#export-amlexperimentgraph) and [*Import-AmlExperimentGraph*](https://github.com/hning86/azuremlps#import-amlexperimentgraph) to accomplish that.

The JSON file is a textual representation of the experiment graph, which might include a reference to assets in the workspace such as a dataset or a trained model. It doesn't contain a serialized version of the asset. If you attempt to import the JSON document back into the workspace, the referenced assets must already exist with the same asset IDs that are referenced in the experiment. Otherwise you will not be able to access the imported experiment.

Expand All @@ -51,7 +51,7 @@ A trained model in Azure Machine Learning is serialized into a format known as a
4. Call the BES endpoint of the training web service, and specify the desired .iLearner file name and Blob storage account location where it will be stored.
5. Harvest the produced .iLearner file after the BES call finishes.

Another way to retrieve the .iLearner file is through the PowerShell cmdlet [*Download-AmlExperimentNodeOutput*](https://github.com/hning86/azuremlps#download-amlexperimentnodeoutput). This might be easier if you just want to get a copy of the .iLearner file without the need to retrain the model programmatically.
Another way to retrieve the .iLearner file is through the PowerShell commandlet [*Download-AmlExperimentNodeOutput*](https://github.com/hning86/azuremlps#download-amlexperimentnodeoutput). This might be easier if you just want to get a copy of the .iLearner file without the need to retrain the model programmatically.

After you have the .iLearner file containing the trained model, you can then employ your own versioning strategy. The strategy can be as simple as applying a pre/postfix as a naming convention and just leaving the .iLearner file in Blob storage, or copying/importing it into your version control system.

Expand All @@ -75,12 +75,12 @@ Over time, you might have many endpoints created in the same web service. Each e
You can also create many identical web service endpoints, and then patch different versions of the .iLearner file to the endpoint to achieve similar effect. [This article](machine-learning-create-models-and-endpoints-with-powershell.md) explains in more detail how to accomplish that.

### New web service
If you create a new Azure Resource Manager-based web service, the endpoint construct is no longer available. Instead, you can generate web service definition (WSD) files, in JSON format, from your predictive experiment by using the [Export-AmlWebServiceDefinitionFromExperiment](https://github.com/hning86/azuremlps#export-amlwebservicedefinitionfromexperiment) PowerShell cmdlet, or by using the [*Export-AzureRmMlWebservice*](https://msdn.microsoft.com/library/azure/mt767935.aspx) PowerShell cmdlet from a deployed Resource Manager-based web service.
If you create a new Azure Resource Manager-based web service, the endpoint construct is no longer available. Instead, you can generate web service definition (WSD) files, in JSON format, from your predictive experiment by using the [Export-AmlWebServiceDefinitionFromExperiment](https://github.com/hning86/azuremlps#export-amlwebservicedefinitionfromexperiment) PowerShell commandlet, or by using the [*Export-AzureRmMlWebservice*](https://msdn.microsoft.com/library/azure/mt767935.aspx) PowerShell commandlet from a deployed Resource Manager-based web service.

After you have the exported WSD file and version control it, you can also deploy the WSD as a new web service in a different web service plan in a different Azure region. Just make sure you supply the proper storage account configuration as well as the new web service plan ID. To patch in different .iLearner files, you can modify the WSD file and update the location reference of the trained model, and deploy it as a new web service.

## Automate experiment execution and deployment
An important aspect of ALM is to be able to automate the execution and deployment process of the application. In Azure Machine Learning, you can accomplish this by using the [PowerShell module](http://aka.ms/amlps). Here is an example of end-to-end steps that are relevant to a standard ALM automated execution/deployment process by using the [Azure Machine Learning Studio PowerShell module](http://aka.ms/amlps). Each step is linked to one or more PowerShell cmdlets that you can use to accomplish that step.
An important aspect of ALM is to be able to automate the execution and deployment process of the application. In Azure Machine Learning, you can accomplish this by using the [PowerShell module](http://aka.ms/amlps). Here is an example of end-to-end steps that are relevant to a standard ALM automated execution/deployment process by using the [Azure Machine Learning Studio PowerShell module](http://aka.ms/amlps). Each step is linked to one or more PowerShell commandlets that you can use to accomplish that step.

1. [Upload a dataset](https://github.com/hning86/azuremlps#upload-amldataset).
2. Copy a training experiment into the workspace from a [workspace](https://github.com/hning86/azuremlps#copy-amlexperiment) or from [Gallery](https://github.com/hning86/azuremlps#copy-amlexperimentfromgallery), or [import](https://github.com/hning86/azuremlps#import-amlexperimentgraph) an [exported](https://github.com/hning86/azuremlps#export-amlexperimentgraph) experiment from local disk.
Expand Down

0 comments on commit bce4c5b

Please sign in to comment.