Azure / Azure/MachineLearningNotebooks

[azureml python sdk v2] access files in URI_FOLDER output after job has finished?

オープン
#1,891 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Jupyter Notebook
スター
4.4k
フォーク
2.6k
PR マージ指標
30日以内にマージされた PR はありません

説明

I have a training job that persists some files in an URI_FOLDER output.
_How can I access those through the v2 SDK API after the job has finished?_

### 1. job setup
The output is set up like this in the `command`:
```
job = command(
# ...
outputs=dict(
outputs=Output(type=AssetTypes.URI_FOLDER, mode='rw_mount'),
),
command="python training_script.py " +
"--outputs_dir ${{outputs.outputs}} " +
# ...other arguments...
)
```
This seems to work fine, the corresponding folder is mounted correctly and accessible in the training script.

### 2. training script
In the training script, I persist a dataframe like this:
```
parser.add_argument("--outputs_dir", dest="outputs_dir", default=DEFAULT_MODEL_DIR)
# ...
some_dataframe.to_csv(os.path.join(args.outputs_dir, 'some_dataframe.csv'), index=True)
```
This works fine.

### 3. resulting dataset
After the job has finished, the outputs are available as a dataset.
This is what is shown in Azure ML Studio in the "Overview" tab for job `ivory_octopus_yd6by49kxf`:
image

The dataset is successfully stored in the `workspaceblobstore` datastore. I checked it in the Azure ML Studio and it looks fine.

### 4. accessing the persisted data
After the job has finished, I access the run using a `MlflowClient()`
```
MLFLOW_TRACKING_URI = ml_client.workspaces.get(name=ml_client.workspace_name).mlflow_tracking_uri
mlflow.set_tracking_uri(MLFLOW_TRACKING_URI)
mlflow_client = MlflowClient()

mlflow_run = mlflow_client.get_run("ivory_octopus_yd6by49kxf")
```
or
```
run = ml_client.jobs.get('ivory_octopus_yd6by49kxf')
# returns NodeOutput class
```

**_How can I programmatically list / get / download the outputs connected to the job?_**

Thanks!

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、issue に示されている Azure ML v2 SDK の job API と NodeOutput API から始め、それらを MlflowClient のアクセス経路と比較します。job ivory_octopus_yd6by49kxf の完了後に URI_FOLDER ファイルを一覧表示、取得、ダウンロードするプログラムによる方法を文書化または実証できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
azure, jupyter-notebook, python
領域
data, machine-learning
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。