Azure / Azure/MachineLearningNotebooks

run.log_table stores 1-item lists differently

Open
#1,016 3 comments 1 reaction 0 assignees View on GitHub
MLOps product-gap product-issue
Dominant language
Jupyter Notebook
Stars
4.4k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

The following code:
```
run.log_table('test',value={'x':['asd','sdf'],'y':[1,2]})
run.log_table('test1',value={'x':['asd'],'y':[1]})
run.get_metrics()
```
will yield:
`{'test': {'x': ['asd', 'sdf'], 'y': [1, 2]}, 'test1': {'x': 'asd', 'y': 1}}`

It shows that single-item lists are stored differently than lists with multiple items.

This makes the JSON produced from these inconsistent types hard to parse down the line (e.g. outside of AML as in PowerBI for example).

If we pass in a list, we would expect that it is stored as a list even if there is only one item in the list.

---
#### Document Details

⚠ *Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.*

* ID: 2e24ac95-7027-6a3c-81e6-f20cc4415219
* Version Independent ID: 9498cdc2-0d04-39a3-08ce-ef9ea8f2d153
* Content: [azureml.core.run.Run class - Azure Machine Learning Python](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.run.run?view=azure-ml-py)
* Content Source: [AzureML-Docset/stable/docs-ref-autogen/azureml-core/azureml.core.run.Run.yml](https://github.com/MicrosoftDocs/MachineLearning-Python-pr/blob/live/AzureML-Docset/stable/docs-ref-autogen/azureml-core/azureml.core.run.Run.yml)
* Service: **machine-learning**
* Sub-service: **core**
* GitHub Login: @debfro
* Microsoft Alias: **debfro**

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the provided calls to Run.log_table and Run.get_metrics in the Azure Machine Learning Python SDK context. Trace how single-item lists are represented in the returned metrics and JSON, then add coverage showing that explicitly passed one-item lists remain lists.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python
Domain
api, machine-learning
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.