{"id":2224,"date":"2018-09-24T00:00:00","date_gmt":"2018-09-24T00:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/what-s-new-in-azure-machine-learning-service"},"modified":"2023-05-11T15:37:07","modified_gmt":"2023-05-11T22:37:07","slug":"what-s-new-in-azure-machine-learning-service","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/","title":{"rendered":"What\u2019s new in Azure Machine Learning service"},"content":{"rendered":"<p>Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our <a href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/diving-deep-into-what-s-new-with-azure-machine-learning\/\" target=\"_blank\" rel=\"noopener\">initial public preview launch in September 2017<\/a>, we have received an incredible amount of valuable and constructive feedback. Over the last 12 months, the team has been very busy enhancing the product, addressing feedbacks, and adding new capabilities. It is extremely exciting to share these new improvements with you. We are confident that they will dramatically boost productivity for data scientists and machine learning practitioners in building and deploying machine learning solutions at cloud scale.<\/p>\n<p>In this post, I want to highlight some of the core capabilities of the release with a bit more technical details.<\/p>\n<h2>Python SDK &#038; Machine Learning workspace<\/h2>\n<p>Most of the recent machine learning innovations are happening in the Python language space, which is why we chose to expose the core features of the service through a Python SDK. You can install it with a simple pip install command, preferably in an isolated <a href=\"https:\/\/conda.io\/docs\/index.html\" target=\"_blank\" rel=\"noopener\">conda<\/a> virtual environment.<\/p>\n<pre>\r\n# install just the base package\r\n$ pip install azureml-sdk\r\n\r\n# or install additional capabilities such as automated machine learning\r\n$ pip install azureml-sdk[automl]<\/pre>\n<p>You will need access to an Azure subscription in order to fully leverage the SDK. First think you need to do is to create an Azure Machine Learning workspace. You can do that with the Python SDK or through the Azure portal. A workspace is the logical container of all your assets, and also the security and sharing boundary.<\/p>\n<pre>\r\nworkspace = Workspace.create(name='my-workspace',\r\n                             subscription_id='<azure-subscription-id>',\r\n                             resource_group='my-resource-group')<\/pre>\n<p>Once you create a workspace, you can access a rich set of Azure services through the SDK and start rocking data science. For more details on how to get started, please visit the <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/quickstart-get-started\" target=\"_blank\" rel=\"noopener\">Get started<\/a> article.<\/p>\n<h2>Data preparation<\/h2>\n<p>Data preparation is an important part of a machine learning workflow. Your models will be more accurate and efficient if they have access to clean data in a format that is easier to consume. You can use the SDK to load data of various formats, transform it to be more usable, and write that data to a location for your models to access. Here is a cool example of transforming a column into 2 new columns by supplying a few examples:<\/p>\n<pre>\r\ndf2 = df1.derive_column_by_example(source_columns='start_time',\r\n                                   new_column_name='date',\r\n                                   example_data=[\r\n                                   ('2017-12-31 16:57:39.6540', '2017-12-31'),\r\n                                   ('2017-12-31 16:57:39', '2017-12-31')])\r\ndf3 = df2.derive_column_by_example(source_columns='start_time',\r\n                                   new_column_name='wday',\r\n                                   example_data=[('2017-12-31 16:57:39.6540', 'Sunday')])<\/pre>\n<p>For more details, please <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-data-prep\" target=\"_blank\" rel=\"noopener\">visit this article<\/a>.<\/p>\n<h2>Experiment tracking<\/h2>\n<p>Modeling training is an iterative process. The Azure Machine Learning service can track all your experiment runs in the cloud. You can run an experiment locally or remotely, and use the logging APIs to record any metric, or upload any file.<\/p>\n<pre>\r\nexp = Experiment(workspace, \"fraud detection\")\r\nwith exp.start_logging() as run:\r\n      # your code to train the model omitted\r\n      ... ...\r\n     \r\n      run.log(\"overall accuracy\", acc) # log a single value\r\n      run.log_list(\"errors\", error_list) # log a list of values\r\n      run.log_row(\"boundaries\", xmin=0, xmax=1, ymin=-1, ymax=1) # log arbitrary key\/value pairs\r\n      run.log_image(\"AUC plot\", plt) # log a matplotlib plot\r\n      run.upload(\"model\", \".\/model.pkl\") # upload a file<\/pre>\n<p>Once the run is complete (or even while the run is being executed), you can see the tracked information in the Azure portal.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"image\" height=\"369\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp\" title=\"image\" width=\"560\"><\/p>\n<p>You can also query the experiment runs to find the one that recorded the best metric as defined by you such as highest accuracy, lowest mean squared error, and more. You can then register the model produced by that run in the model registry under the workspace. You can also take that model and deploy it.<\/p>\n<pre>\r\n# Find the run that has the highest accuracy metric recorded.\r\nbest_run_id = max(run_metrics, key=lambda k: run_metrics[k]['accuracy'])\r\n\r\n# reconstruct the run object based on run id\r\nbest_run = Run(experiment, best_run_id)\r\n\r\n# register the model produced by that run\r\nbest_run.register_model('best model', 'outputs\/model.pkl')<\/pre>\n<p>Find more detailed examples of <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-track-experiments\" target=\"_blank\" rel=\"noopener\">how to use experiment logging APIs<\/a>.<\/p>\n<h2>Scale your training with GPU clusters<\/h2>\n<p>It is OK to tinker with small data sets locally on a laptop, but training a sophisticated model might require large-scale compute resources in the cloud. With the Python SDK, you can simply <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-set-up-training-targets#dsvm\" target=\"_blank\" rel=\"noopener\">attach existing Azure Linux VMs<\/a>, or <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-set-up-training-targets#hdinsight\" target=\"_blank\" rel=\"noopener\">attach an Azure HDInsight for Spark clusters<\/a> to execute your training jobs. You can also easily create a managed compute cluster, also known as Azure Batch AI cluster, to run your scripts.<\/p>\n<pre>\r\npc = BatchAiCompute.provisioning_configuration(vm_size=\"STANDARD_NC6\",\r\n                                               autoscale_enabled=True,\r\n                                               cluster_min_nodes=0,\r\n                                               cluster_max_nodes=4)\r\ncluster = compute_target = ComputeTarget.create(workspace, pc)<\/pre>\n<p>The code above creates a managed compute cluster equipped with GPUs (\u201cSTANDARD_NC6\u201d Azure VM type). It can automatically scale up to 4 nodes when jobs are submitted to it, or scale back down to 0 nodes when jobs are finished to save cost. It is perfect for running many jobs in parallel, supporting features like intelligent hyperparameter tuning or batch scoring, or training large deep learning model in a distributed fashion.<\/p>\n<p>Find a more detailed example of <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-set-up-training-targets#batch\" target=\"_blank\" rel=\"noopener\">how to create a managed computer cluster<\/a>.<\/p>\n<h2>Flexible execution environments<\/h2>\n<p>Azure Machine Learning service supports executing your scripts in various compute targets, including on local computer, aforementioned remote VM, Spark cluster, or managed computer cluster. For each compute target, it also supports various execution environments through a flexible run configuration object. You can ask the system to simply run your script in a Python environment you have already configured in the compute target, or ask the system to build a new conda environment based on dependencies specified to run your job. You can even ask the system to download a Docker image to run your job. We supply a few base Docker images you can choose from, but you can also bring your own Docker image if you\u2019d like.<\/p>\n<p>Here is an example of a run configuration object that specifies a Docker image with system managed conda environment:<\/p>\n<pre>\r\n# Create run configuration object\r\nrc = RunConfiguration()\r\nrc.target = \"my-vm-target\"\r\nrc.environment.docker.enabled = True\r\nrc.environment.python.user_managed_dependencies = False\r\nrc.environment.docker.base_image = azureml.core.runconfig.DEFAULT_CPU_IMAGE\r\n\r\n# Specify conda dependencies with scikit-learn\r\ncd = CondaDependencies.create(conda_packages=['scikit-learn'])\r\nrc.environment.python.conda_dependencies = cd\r\n\r\n# Submit experiment\r\nsrc = ScriptRunConfig(source_directory=\".\/\", script='train.py', run_config=rc)\r\nrun = experiment.submit(config=src)<\/pre>\n<p>The SDK also includes a high-level <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-train-ml-models#train-with-an-estimator\" target=\"_blank\" rel=\"noopener\">estimator pattern<\/a> to wrap some of these configurations for TensorFlow and PyTorch-based execution to make it even easier to define the environments. These environment configurations allow maximum flexibility, so you can strike a balance between reproducibility and control. For more details, check out how to configure <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-set-up-training-targets#local\" target=\"_blank\" rel=\"noopener\">local execution<\/a>, <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-set-up-training-targets#local\" target=\"_blank\" rel=\"noopener\">remote VM execution<\/a>, and <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-set-up-training-targets#hdinsight\" target=\"_blank\" rel=\"noopener\">Spark job exeuction in HDInsight<\/a>.<\/p>\n<h2>Datastore<\/h2>\n<p>With the multitude of compute targets and execution environments support, it is critical to have a consistent way to access data files from your scripts. Every workspace comes with a default datastore which is based on Azure blob storage account. You can use it to store and retrieve data files. And you can also configure additional datastores under the workspace. Here is a simple example of using datastore:<\/p>\n<pre>\r\n# upload files from local computer into default datastore\r\nds = workspace.get_default_datastore()\r\nds.upload(src_dir='.\/data', target_path='mnist', overwrite=True)\r\n\r\n# pass in datastore's mounting point as an argument when submitting an experiment.\r\nscr = ScriptRunConfig(source_directory=\".\/\",\r\n                      script=\"train.py\",\r\n                      run_config=rc,\r\n                      arguments={'--data_folder': ds.as_mount()})\r\nrun = experiment.submit(src)<\/pre>\n<p>Meanwhile, in the training script which is executed in the compute cluster, the datastore is automatically mounted. All you have to do is to get hold of the mounting path.<\/p>\n<pre>\r\nargs = parser.parse_args()\r\n# access data from the datastore mounting point\r\ntraining_data = os.path.join(args.data_folder, 'mnist', 'train-images.gz')<\/pre>\n<p>For more detailed information on <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-access-data\" target=\"_blank\" rel=\"noopener\">datastore<\/a>.<\/p>\n<h2>automated machine learning<\/h2>\n<p>Given a training data set, choosing the right data preprocessing mechanisms and the right algorithms can be a challenging task even for the experts. Azure Machine Learning service includes advanced capabilities to automatically recommend machine learning pipeline that is composed of the best featurization steps and best algorithm, and the best hyperparameters, based on the target metric you set. Here is an example of automatically finding the pipeline that produces the highest AUC_Weighted value for classifying the given training data set:<\/p>\n<pre>\r\n# automatically find the best pipeline that gives the highest AUC_weighted value.\r\ncfg = AutoMLConfig(task='classification',\r\n                   primary_metric=\"AUC_weighted\",\r\n                   X = X_train,\r\n                   y = y_train,\r\n                   max_time_sec=3600,\r\n                   iterations=10,\r\n                   n_cross_validations=5)\r\nrun = experiment.submit(cfg)\r\n\r\n# return the best model\r\nbest_run, fitted_model = run.get_output()<\/pre>\n<p>Here is a printout of the run. Notice iteration #6 represents the best pipeline which includes a <a href=\"https:\/\/scikit-learn.org\/stable\/modules\/generated\/sklearn.preprocessing.StandardScaler.html\" target=\"_blank\" rel=\"noopener\">scikit-learn StandardScaler<\/a> and a <a href=\"https:\/\/github.com\/Microsoft\/LightGBM\" target=\"_blank\" rel=\"noopener\">LightGBM<\/a> classifier.<\/p>\n<table border=\"1\" cellpadding=\"2\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\"><strong>ITERATION<\/strong><\/td>\n<td valign=\"top\"><strong>PIPELINE<\/strong><\/td>\n<td valign=\"top\"><strong>DURATION<\/strong><\/td>\n<td valign=\"top\"><strong>METRIC<\/strong><\/td>\n<td valign=\"top\"><strong>BEST<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">0<\/td>\n<td valign=\"top\">SparseNormalizer LogisticRegression<\/td>\n<td valign=\"top\">0:00:46.451353<\/td>\n<td valign=\"top\">0.998<\/td>\n<td valign=\"top\">0.998<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">1<\/td>\n<td valign=\"top\">StandardScalerWrapper KNeighborsClassi<\/td>\n<td valign=\"top\">0:00:31.184009<\/td>\n<td valign=\"top\">0.998<\/td>\n<td valign=\"top\">0.998<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">2<\/td>\n<td valign=\"top\">MaxAbsScaler LightGBMClassifier<\/td>\n<td valign=\"top\">0:00:16.193463<\/td>\n<td valign=\"top\">0.998<\/td>\n<td valign=\"top\">0.998<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">3<\/td>\n<td valign=\"top\">MaxAbsScaler DecisionTreeClassifier<\/td>\n<td valign=\"top\">0:00:12.379544<\/td>\n<td valign=\"top\">0.828<\/td>\n<td valign=\"top\">0.998<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">4<\/td>\n<td valign=\"top\">SparseNormalizer LightGBMClassifier<\/td>\n<td valign=\"top\">0:00:21.779849<\/td>\n<td valign=\"top\">0.998<\/td>\n<td valign=\"top\">0.998<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">5<\/td>\n<td valign=\"top\">StandardScalerWrapper KNeighborsClassi<\/td>\n<td valign=\"top\">0:00:11.910200<\/td>\n<td valign=\"top\">0.998<\/td>\n<td valign=\"top\">0.998<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">6<\/td>\n<td valign=\"top\">StandardScalerWrapper LightGBMClassifi<\/td>\n<td valign=\"top\">0:00:33.010702<\/td>\n<td valign=\"top\">0.999<\/td>\n<td valign=\"top\">0.999<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">7<\/td>\n<td valign=\"top\">StandardScalerWrapper SGDClassifierWra<\/td>\n<td valign=\"top\">0:00:18.195307<\/td>\n<td valign=\"top\">0.994<\/td>\n<td valign=\"top\">0.999<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">8<\/td>\n<td valign=\"top\">MaxAbsScaler LightGBMClassifier<\/td>\n<td valign=\"top\">0:00:16.271614<\/td>\n<td valign=\"top\">0.997<\/td>\n<td valign=\"top\">0.999<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\">9<\/td>\n<td valign=\"top\">StandardScalerWrapper KNeighborsClassi<\/td>\n<td valign=\"top\">0:00:15.860538<\/td>\n<td valign=\"top\">0.999<\/td>\n<td valign=\"top\">0.999<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>automated machine learning supports both classification and regression, and it includes features such as handling missing values, early termination by a stopping metric, blacklisting algorithms you don\u2019t want to explore, and many more. To learn more explore the <a href=\"https:\/\/aka.ms\/aml-blog-automl\" target=\"_blank\" rel=\"noopener\">automated machine learning<\/a> article.<\/p>\n<h2>Intelligent hyperparameter tuning<\/h2>\n<p>Hyperparameter tuning (aka parameter sweep) is a general machine learning technique for finding the optimal hyperparameter values for a given algorithm. An indiscriminate and\/or exhaustive hyperparameter search can be computationally expensive and time-consuming. The Azure Machine Learning service delivers intelligent hyperparameter tuning capabilities that can save user significant time and resources. It can search parameter space either randomly or with Bayesian optimization, automatically schedules parameter search jobs on the managed compute clusters in parallel, and accelerates the search process through user-defined early termination policies. Both traditional machine learning algorithms and iterative deep learning algorithm can benefit from it. Here is an example of using hyperparameter tuning with an estimator object.<\/p>\n<pre>\r\n# parameter grid to search\r\nparameter_samples = RandomParameterSampling{\r\n       \"--learning_rate\": loguniform(-10, -3),\r\n       \"--batch_size\": uniform(50,300),\r\n       \"--first_layer_neurons\": choice(100, 300, 500),\r\n       \"--second_layer_neurons\": choice(10, 20, 50, 100)\r\n}\r\n\r\n# early termination policy\r\npolicy = BanditPolicy(slack_factor=0.1, evaluation_interval=2)\r\n\r\n# hyperparameter tuning configuration\r\nhtc = HyperDriveRunConfig(estimator=my_estimator,\r\n                          hyperparameter_sampling=parameter_samples,\r\n                          policy=policy,\r\n                          primary_metric_name='accuracy',  \r\n                          primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,\r\n                          max_total_runs=200,\r\n                          max_concurrent_runs=10,\r\n)\r\nrun = experiment.submit(htc)<\/pre>\n<p>The above code will randomly search through the given parameter space, and launch up to 200 jobs on the computer target configured on the estimator object, and look for the one that returns the highest accuracy. The BanditPolicy checks the accuracy produced by each job every two iterations, and terminates the job if the \u201caccuracy\u201d value is not with the 10 percent slack of the highest \u201caccuracy\u201d reported so far from other runs. Find a more detailed description of <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-tune-hyperparameters\" target=\"_blank\" rel=\"noopener\">intelligent hyperparameter tuning<\/a>.<\/p>\n<h2>Distributed training<\/h2>\n<p>When training a deep neural network, it can be more efficient to parallelize the computation over a cluster of GPU-equipped computers. Configuring such a cluster, and parallelizing your training script can be a tedious and error-prone task. Azure Machine Learning service provisions managed compute clusters with distributed training capabilities already enabled. Whether you are using the native <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-train-tensorflow#parameter-server\" target=\"_blank\" rel=\"noopener\">parameter server option that ships with TensorFlow<\/a>, or an MPI-based approach leveraged by <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-train-tensorflow#horovod\" target=\"_blank\" rel=\"noopener\">Hovorod framework combined with TensorFlow<\/a>, or <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-train-pytorch#horovod\" target=\"_blank\" rel=\"noopener\">Horovod with PyTorch<\/a>, or <a href=\"https:\/\/aka.ms\/aml-notebook-cntk-mpi\" target=\"_blank\" rel=\"noopener\">CNTK with MPI<\/a>, you can train the network in parallel with ease.<\/p>\n<p>Here is an example of configuring an TensorFlow training run with MPI support with the distributed_backend flag set to mpi. In the word2vec.py file you can leverage Horovod that is automatically installed for you.<\/p>\n<pre>\r\ntf_estimator = TensorFlow(source_directory=\".\/\",\r\n                          compute_target=my_cluster,\r\n                          entry_script='word2vec.py',\r\n                          script_params=script_params,\r\n                          node_count=4,\r\n                          process_count_per_node=1,\r\n                          distributed_backend=\"mpi\",\r\n                          use_gpu=True)<\/pre>\n<p>Find more details on <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-train-ml-models?#distributed-training-and-custom-docker-images\" target=\"_blank\" rel=\"noopener\">distributed training in Azure Machine Learning service<\/a>.<\/p>\n<h2>Pipeline<\/h2>\n<p>Azure Machine Learning pipeline enables data scientists to create and manage multiple simple and complex workflows concurrently. A typical pipeline would have multiple tasks to prepare data, train, deploy and evaluate models. Individual steps can make use of diverse compute options (for e.g.: CPU for data preparation and GPU for training) and languages. User can also use published pipelines for scenarios like batch-scoring and retraining.<\/p>\n<p>Here is a simple example showing a sequential pipeline for data preparation, training and batch scoring:<\/p>\n<pre>\r\n# Uses default values for PythonScriptStep construct.\r\ns1 = PythonScriptStep(script_name=\"prep.py\", target='my-spark-cluster', source_directory=\".\/\")\r\ns2 = PythonScriptStep(script_name=\"train.py\", target='my-gpu-cluster', source_directory=\".\/\")\r\ns3 = PythonScriptStep(script_name=\"batch_score.py\", target='my-cpu-cluster', source_directory=\".\/\")\r\n\r\n# Run the steps as a pipeline\r\npipeline = Pipeline(workspace=ws, steps=[s1, s2, s3])\r\npipeline.validate()\r\npipeline_run = experiment.submit(pipeline)<\/pre>\n<p>Using a pipeline can drastically reduce complexity by organizing multi-step workflows, improve manageability by tracking the entire workflow as a single experiment run, and increase usability by recording all intermediary tasks and data. For more details, please <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/concept-ml-pipelines\" target=\"_blank\" rel=\"noopener\">visit this documentation<\/a>.<\/p>\n<h2>Model management<\/h2>\n<p>A model can be produced out of a training run from an Azure Machine Learning experiment. You can use a simple API to register it under your workspace. You can also bring a model generated outside of Azure Machine Learning and register it too.<\/p>\n<pre>\r\n# register a model that's generated from a run and stored in the experiment history\r\nmodel = best_run.register_model(model_name='best_model', model_path='outputs\/model.pkl')\r\n\r\n# or, register a model from local file\r\nmodel = Model.register(model_name=\"best_model\", model_path=\".\/model.pkl\", workspace=workspace)<\/pre>\n<p>Once registered, you can tag it, version it, search for it, and of course deploy it. For more details on model management capabilities, <a href=\"https:\/\/aka.ms\/aml-notebook-deployment-aci\" target=\"_blank\" rel=\"noopener\">review this notebook<\/a>.<\/p>\n<h2>Containerized deployment<\/h2>\n<p>Once you have a registered model, you can easily create a Docker image by using the model management APIs from the SDK. Simply supply the model file from your local computer or using a registered model in your workspace, add a training script and a package dependencies file. The system uploads everything into the cloud and creates a Docker image, then registers it with your workspace.<\/p>\n<pre>\r\nimg_conf = ContainerImage.image_configuration(runtime=\"python\",\r\n                                                execution_script=\"score.py\",\r\n                                                conda_file=\"dependencies.yml\")\r\n# create a Docker image with model and scoring file\r\nimage = Image.create(name=\"my-image\",                   \r\n                     models=[model_obj],\r\n                     image_config=image_config,\r\n                     workspace=workspace)<\/pre>\n<p>You can choose to <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-deploy-to-aci\" target=\"_blank\" rel=\"noopener\">deploy the image to Azure Container Instance (ACI) service<\/a>, a computing fabric to run a Docker container for dev\/test scenarios, or <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-deploy-to-aks\" target=\"_blank\" rel=\"noopener\">deploy to Azure Kubernetes Cluster (AKS) service<\/a> for scale-out and secure production environment. Find more <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-deploy-and-where\" target=\"_blank\" rel=\"noopener\">deployment options<\/a>.<\/p>\n<h2>Using notebooks<\/h2>\n<p>The Azure Machine Learning Python SDK can be used in any Python development environment that you choose. In addition, we have enabled tighter integration with the following notebook surface areas.<\/p>\n<h2>Juypter notebook<\/h2>\n<p>You may have noticed that nearly all the samples I am citing are in the form of Jupyter notebooks published in GitHub. Jupyter has become one of the most popular tools for data science due to its interactivity and self-documenting nature. To facilitate Juypter users interacting with experiment run history, we have created a run history widget to monitor any run object. Below is an example of a hyperparameter tuning run.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"image\" height=\"836\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/e6fb0ba2-e8c1-424a-8b27-5df4ada822ce.webp\" title=\"image\" width=\"560\"><\/p>\n<p align=\"center\"><em>run history widget<\/em><\/p>\n<p>To see the run history widget in action, <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/tutorial-train-models-with-aml\" target=\"_blank\" rel=\"noopener\">follow this notebook<\/a>.<\/p>\n<h2>Azure Notebooks<\/h2>\n<p><a href=\"https:\/\/notebooks.azure.com\/\" target=\"_blank\" rel=\"noopener\">Azure Notebooks<\/a> is a free service that can be used to develop and run code in a browser using Jupyter. We have preinstalled the SDK in the Python 3.6 kernel of the Azure Notebooks container, and made it very easy to <a href=\"https:\/\/aka.ms\/aml-clone-azure-notebooks\" target=\"_blank\" rel=\"noopener\">clone all the sample notebooks into your own library<\/a>. In addition, you can click on the <strong>Get Started in Azure Notebooks<\/strong> button from a workspace in Azure portal. The workspace configuration is automatically copied into your cloned library as well so you can access it from the SDK right away.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"image\" height=\"440\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/31b2367b-a9a9-4c63-8d78-d268f47cb1dd.webp\" title=\"image\" width=\"560\"><\/p>\n<h2>Integration with Azure Databricks<\/h2>\n<p><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/databricks\/\" target=\"_blank\" rel=\"noopener\">Azure Databricks<\/a> is an Apache Spark\u2013based analytics service to perform big data analytics. You can easily install the SDK in the Azure Databricks clusters and use it for logging training run metrics, as well as containerize Spark ML models and deploy them into ACI or AKS, just like any other models. To get started on Azure Databricks with Azure Machine Learning Python SDK, please <a href=\"https:\/\/aka.ms\/aml-notebook-adb\" target=\"_blank\" rel=\"noopener\">review this notebook<\/a>.<\/p>\n<h2>Visual Studio Code Tools for AI<\/h2>\n<p><a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener\">Visual Studio Code<\/a> is a very popular code editing tool, and its Python extension is widely adopted among Python developers. <a href=\"https:\/\/aka.ms\/vscodetoolsforai\" target=\"_blank\" rel=\"noopener\">Visual Studio Code Tool for AI<\/a> seamlessly integrates with Azure Machine Learning for robust experimentation capabilities. With this extension, you can access all the cool features from experiment run submission to run tracking, from compute target provisioning to model management and deployment, all within a friendly user interface. Here is a screenshot of the Visual Studio Code Tool for AI extension in action.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"image\" height=\"276\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/00036eee-3da9-4f8d-9de4-5eac15462634.webp\" title=\"image\" width=\"560\"><\/p>\n<p align=\"left\">Please download the <a href=\"https:\/\/aka.ms\/vscodetoolsforai\" target=\"_blank\" rel=\"noopener\">Visual Studio Code Tool for AI<\/a> extension and give it a try.<\/p>\n<h2>Get started, now!<\/h2>\n<p>This has been a very long post so thank you for your patience to read through it. However, I have barely scratched the surface of Azure Machine Learning service. There are so many other exciting features that I am not able to get to. You will have to explore them on your own:<\/p>\n<ul>\n<li><a href=\"https:\/\/aka.ms\/aml-notebook-tb\" target=\"_blank\" rel=\"noopener\">TensorBoard integration<\/a> \u2013 Monitor your experiment runs in TensorBoard, even if you are not using TensorFlow!<\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-build-deploy-onnx\" target=\"_blank\" rel=\"noopener\">ONNX runtime support<\/a> \u2013 Deploy models created in the open ONNX format.<\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-enable-data-collection\" target=\"_blank\" rel=\"noopener\">Model telemetry collection<\/a> \u2013 Collect telemetry from live running models.<\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-deploy-fpga-web-service\" target=\"_blank\" rel=\"noopener\">Field programmable gated-array (FPGA) inferencing<\/a> \u2013 Score or featurize image data using pre-trained deep neural networks with blazing fast speed and low cost.<\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/how-to-deploy-to-iot\" target=\"_blank\" rel=\"noopener\">IoT deployment<\/a> \u2013 Deploy model to IoT devices.<\/li>\n<\/ul>\n<p>And many more to come. Please visit the <a href=\"https:\/\/docs.microsoft.com\/azure\/machine-learning\/service\/quickstart-get-started\" target=\"_blank\" rel=\"noopener\">Getting started guide<\/a> to start the exciting journey with us!<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1454],"tags":[],"audience":[3057,3055,3056],"content-type":[],"product":[1493],"tech-community":[],"topic":[],"coauthors":[97],"class_list":["post-2224","post","type-post","status-publish","format-standard","hentry","category-ai-machine-learning","audience-data-professionals","audience-developers","audience-it-implementors","product-azure-machine-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What\u2019s new in Azure Machine Learning service | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What\u2019s new in Azure Machine Learning service | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-24T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-11T22:37:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp\" \/>\n<meta name=\"author\" content=\"Microsoft Azure\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Azure\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Azure\"}],\"headline\":\"What\u2019s new in Azure Machine Learning service\",\"datePublished\":\"2018-09-24T00:00:00+00:00\",\"dateModified\":\"2023-05-11T22:37:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\"},\"wordCount\":2302,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp\",\"articleSection\":[\"AI + machine learning\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\",\"name\":\"What\u2019s new in Azure Machine Learning service | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp\",\"datePublished\":\"2018-09-24T00:00:00+00:00\",\"dateModified\":\"2023-05-11T22:37:07+00:00\",\"description\":\"Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI + machine learning\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"What\u2019s new in Azure Machine Learning service\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What\u2019s new in Azure Machine Learning service | Microsoft Azure Blog","description":"Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/","og_locale":"en_US","og_type":"article","og_title":"What\u2019s new in Azure Machine Learning service | Microsoft Azure Blog","og_description":"Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2018-09-24T00:00:00+00:00","article_modified_time":"2023-05-11T22:37:07+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp","type":"","width":"","height":""}],"author":"Microsoft Azure","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Microsoft Azure","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/","@type":"Person","@name":"Microsoft Azure"}],"headline":"What\u2019s new in Azure Machine Learning service","datePublished":"2018-09-24T00:00:00+00:00","dateModified":"2023-05-11T22:37:07+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/"},"wordCount":2302,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp","articleSection":["AI + machine learning"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/","name":"What\u2019s new in Azure Machine Learning service | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp","datePublished":"2018-09-24T00:00:00+00:00","dateModified":"2023-05-11T22:37:07+00:00","description":"Today we are very happy to release the new capabilities for the Azure Machine Learning service. Since our initial public preview launch in September 2017, we have received an incredible amount of valuable and constructive feedback.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2018\/09\/cef75029-4c67-4ca7-925f-05cab8843731.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/what-s-new-in-azure-machine-learning-service\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"AI + machine learning","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/"},{"@type":"ListItem","position":3,"name":"What\u2019s new in Azure Machine Learning service"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=2224"}],"version-history":[{"count":0,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2224\/revisions"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=2224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=2224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=2224"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=2224"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=2224"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=2224"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=2224"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=2224"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=2224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}