This commit is contained in:
Keita Onabuta 2022-04-12 15:03:17 +00:00 коммит произвёл Andreas Botsikas
Родитель a1a7c85d24
Коммит 0433a3b9b7
1 изменённых файлов: 494 добавлений и 494 удалений

Просмотреть файл

@ -1,499 +1,499 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Azure Machine Learning による機械学習プロセス - モデル学習編\n",
"本ノートブックでは、オープンソースライブラリの LightGBM (Python API) を用いたモデルを構築します。各機械学習プロセスを Azure Machine Learning Python SDK を用いて実行します。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## アジェンダ\n",
"### **A. 学習編 (本ノートブック)**\n",
"- ワークスペース (Workspace) への接続\n",
"- データセット (Datasets) の登録\n",
"- 環境 (Environments) の登録\n",
"- コンピューティングクラスター (Compute Clusters) の作成\n",
"- モデル学習の実行と実験 (Runs & Experiments)\n",
"- モデル登録 (Models)\n",
"\n",
"### B. デプロイ編\n",
"- ワークスペース (Workspace) への接続\n",
"- 推論環境の作成 (Endpoints)\n",
"- エンドポイントの利用 (Endpoints)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 事前設定\n",
"- 本ノートブックは Azure Machine Learning の Compute Instances を利用することを想定しています。\n",
"- 開発環境は JupyterLab, VSCode, Integrated Notebook など Compute Instances で稼働するものであれば自由に選択いただけます。\n",
"- カーネルは `python38-azureml (Python 3.8 AzureML)` を選択ください。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ワークスペース (Workspace) への接続\n",
"クライアント環境の Python 環境にインストールした Azure ML Python SDK を用いて Azure Machine Learning Workspace に接続します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085804152
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Azure Machine Learning による機械学習プロセス - モデル学習編\n",
"本ノートブックでは、オープンソースライブラリの LightGBM (Python API) を用いたモデルを構築します。各機械学習プロセスを Azure Machine Learning Python SDK を用いて実行します。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## アジェンダ\n",
"### **A. 学習編 (本ノートブック)**\n",
"- ワークスペース (Workspace) への接続\n",
"- データセット (Datasets) の登録\n",
"- 環境 (Environments) の登録\n",
"- コンピューティングクラスター (Compute Clusters) の作成\n",
"- モデル学習の実行と実験 (Runs & Experiments)\n",
"- モデル登録 (Models)\n",
"\n",
"### B. デプロイ編\n",
"- ワークスペース (Workspace) への接続\n",
"- 推論環境の作成 (Endpoints)\n",
"- エンドポイントの利用 (Endpoints)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 事前設定\n",
"- 本ノートブックは Azure Machine Learning の Compute Instances を利用することを想定しています。\n",
"- 開発環境は JupyterLab, VSCode, Integrated Notebook など Compute Instances で稼働するものであれば自由に選択いただけます。\n",
"- カーネルは `python38-azureml (Python 3.8 AzureML)` を選択ください。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ワークスペース (Workspace) への接続\n",
"クライアント環境の Python 環境にインストールした Azure ML Python SDK を用いて Azure Machine Learning Workspace に接続します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085804152
}
},
"outputs": [],
"source": [
"# Compute Instances を利用する場合\n",
"from azureml.core import Workspace\n",
"ws = Workspace.from_config()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085804199
}
},
"outputs": [],
"source": [
"# # その他の任意のクライアント環境を利用する場合\n",
"# ws = Workspace.get(\n",
"# name='name',\n",
"# subscription_id='subscription_id',\n",
"# resource_group='resource_group',\n",
"# )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## データストア (Datastores) の利用\n",
"データソースへの接続情報を保持しているデータストア (Datastores) を利用して、CSV ファイルを Azure ストレージ (Azure ML のデフォルトストレージ) にアップロードします。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# データストア (Datastores) へのアップロード\n",
"datastore = ws.get_default_datastore()\n",
"datastore.upload_files(files=['../data/Titanic.csv'],\n",
" target_path='demo',\n",
" overwrite=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## データセット (Datasets) の登録\n",
"データストア (Datstores) として定義されたAzure のストレージやデータベースに格納されているデータをデータセット (Datasets) として登録します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085810518
}
},
"outputs": [],
"source": [
"from azureml.core import Dataset\n",
"\n",
"# データセット (Datasets) の登録\n",
"datastore_paths = [(datastore, 'demo/Titanic.csv')]\n",
"# 表形式を選択\n",
"titanic_ds = Dataset.Tabular.from_delimited_files(path=datastore_paths)\n",
"titanic_ds.register(ws, \"titanic\", create_new_version=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-dataset4.png\" width=900><br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 環境 (Environments) の登録\n",
"モデル学習や推論で利用する Python ライブラリとそのバージョンを環境 (Environments) として登録します。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"環境の名称は `lightgbm-python-env` とし、「Python 仮想環境」を選択し、Python ライブラリとそのバージョンが記載されている [environments/requirements.txt](environments/requirements.txt) のファイルを読み込み、環境を作成します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085810575
}
},
"outputs": [],
"source": [
"from azureml.core import Environment\n",
"environment_name = \"lightgbm-python-env\"\n",
"pip_file_path = \"../environments/requirements.txt\"\n",
"conda_file_path = \"../environments/conda-env.yml\"\n",
"env = Environment.from_conda_specification(name = environment_name, file_path = conda_file_path)\n",
"#env = Environment.from_pip_requirements(name = environment_name, file_path = pip_file_path)\n",
"env.register(ws)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-environment2.png\" width=500><br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## コンピューティングクラスター (Compute Clusters) の作成\n",
"(バッチ的な) モデル学習に利用する計算クラスターであるコンピューティングクラスター (Compute Clusters) を作成します。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"名称は `cpu-clusters` とし、(例えば) Standard_F4s_v2 VM ファミリーを選択します。<br>\n",
"最小ノード数は 0、最大ード数は 4 などに設定し、コンピューティングクラスターを作成します。<br>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085810668
}
},
"outputs": [],
"source": [
"compute_name = \"cpu-clusters\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085811507
}
},
"outputs": [],
"source": [
"from azureml.core.compute import ComputeTarget, AmlCompute\n",
"\n",
"# TODO: 仮想ネットワークの情報を記載\n",
"# vnet_resourcegroup_name = \"\"\n",
"# vnet_name = \"\"\n",
"# subnet_name = \"default\"\n",
"\n",
"if compute_name not in ws.compute_targets: # compute_name の名前の Compute Cluster が無ければ...\n",
" compute_config = AmlCompute.provisioning_configuration(vm_size = \"Standard_F4S_V2\", \n",
" max_nodes=4, \n",
" idle_seconds_before_scaledown = 300,\n",
" #vnet_resourcegroup_name=vnet_resourcegroup_name,\n",
" #vnet_name=vnet_name,\n",
" #subnet_name=subnet_name\n",
" )\n",
"\n",
" ct = ComputeTarget.create(ws, compute_name, compute_config)\n",
" ct.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-computeclusters4.png\" width=500><br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## モデル学習の実行 (Runs & Experiments)\n",
"モデル学習を実行します。それぞれの実行 (Runs) は実験 (Experiments) に情報が集約されます。実験名は `ftalive-lgb-train` とします。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085811566
}
},
"outputs": [],
"source": [
"from azureml.core import Experiment\n",
"\n",
"experiment_name = \"ftalive-lgb-train\"\n",
"experiment = Experiment(ws, experiment_name)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ScriptRunConfig で実行の構成設定をします。\n",
"- 参考ドキュメント : [トレーニングの実行を構成して送信する - スクリプト実行構成とは](https://docs.microsoft.com/ja-JP/azure/machine-learning/how-to-set-up-training-targets#whats-a-script-run-configuration)\n",
"\n",
"なお、学習コードは [script/train-lgb.py](script/train-lgb.py) から確認できます。学習データは Azure Machine Learning に登録されているものを呼びだしています。メトリックの記録は MLflow の Autolog 機能などを用いています。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085811603
}
},
"outputs": [],
"source": [
"from azureml.core import ScriptRunConfig\n",
"\n",
"script_dir = \"script\"\n",
"script_name = \"train-lgb.py\"\n",
"args = [\"--input-data\", titanic_ds.as_named_input('titanic')]\n",
"\n",
"src = ScriptRunConfig(\n",
" source_directory=script_dir,\n",
" script=script_name,\n",
" environment=env,\n",
" arguments=args,\n",
" compute_target=compute_name,\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ジョブを実行します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085817723
}
},
"outputs": [],
"source": [
"run = experiment.submit(src)\n",
"run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ジョブ実行が完了するまで待機します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966563
}
},
"outputs": [],
"source": [
"run.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966613
}
},
"outputs": [],
"source": [
"# run.download_files(output_directory=experiment_name+\"_logging\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966620
}
},
"outputs": [],
"source": [
"run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常にジョブが実行されたことを確認します。<br>\n",
"<img src=\"docs/images/azureml-experiment1.png\" width=500><br>\n",
"実行時間、メトリック、コードなどの情報が確認できます。<br>\n",
"<img src=\"docs/images/azureml-experiment2.png\" width=1500><br>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## モデル登録 (Models)\n",
"ジョブ実行の run オブジェクトを利用して、モデル登録をします。<br>\n",
"※ Azure Machine Learning Studio 経由で実行する場合と違って、クライアント端末への学習済みモデルのダウンロードは不要です。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966624
}
},
"outputs": [],
"source": [
"from azureml.core import Model\n",
"\n",
"model = run.register_model(\n",
" model_name=\"ftalive-lgb-model\",\n",
" model_framework=\"LightGBM\",\n",
" model_framework_version=\"3.3.1\",\n",
" tags={'algorithm': 'lightGBM'}, \n",
" model_path = 'model')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-model2.png\" width=500><br>"
]
}
},
"outputs": [],
"source": [
"# Compute Instances を利用する場合\n",
"from azureml.core import Workspace\n",
"ws = Workspace.from_config()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085804199
],
"metadata": {
"interpreter": {
"hash": "6d65a8c07f5b6469e0fc613f182488c0dccce05038bbda39e5ac9075c0454d11"
},
"kernel_info": {
"name": "python3"
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
},
"microsoft": {
"host": {
"AzureML": {
"notebookHasBeenCompleted": true
}
}
},
"nteract": {
"version": "nteract-front-end@1.0.0"
}
},
"outputs": [],
"source": [
"# # その他の任意のクライアント環境を利用する場合\n",
"# ws = Workspace.get(\n",
"# name='name',\n",
"# subscription_id='subscription_id',\n",
"# resource_group='resource_group',\n",
"# )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## データストア (Datastores) の利用\n",
"データソースへの接続情報を保持しているデータストア (Datastores) を利用して、CSV ファイルを Azure ストレージ (Azure ML のデフォルトストレージ) にアップロードします。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# データストア (Datastores) へのアップロード\n",
"datastore = ws.get_default_datastore()\n",
"datastore.upload_files(files=['../data/Titanic.csv'],\n",
" target_path='demo',\n",
" overwrite=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## データセット (Datasets) の登録\n",
"データストア (Datstores) として定義されたAzure のストレージやデータベースに格納されているデータをデータセット (Datasets) として登録します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085810518
}
},
"outputs": [],
"source": [
"from azureml.core import Dataset\n",
"\n",
"# データセット (Datasets) の登録\n",
"datastore_paths = [(datastore, 'demo/Titanic.csv')]\n",
"# 表形式を選択\n",
"titanic_ds = Dataset.Tabular.from_delimited_files(path=datastore_paths)\n",
"titanic_ds.register(ws, \"titanic\", create_new_version=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-dataset4.png\" width=900><br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 環境 (Environments) の登録\n",
"モデル学習や推論で利用する Python ライブラリとそのバージョンを環境 (Environments) として登録します。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"環境の名称は `lightgbm-python-env` とし、「Python 仮想環境」を選択し、Python ライブラリとそのバージョンが記載されている [environments/requirements.txt](environments/requirements.txt) のファイルを読み込み、環境を作成します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085810575
}
},
"outputs": [],
"source": [
"from azureml.core import Environment\n",
"environment_name = \"lightgbm-python-env\"\n",
"pip_file_path = \"../environments/requirements.txt\"\n",
"conda_file_path = \"../environments/conda-env.yml\"\n",
"env = Environment.from_conda_specification(name = environment_name, file_path = conda_file_path)\n",
"#env = Environment.from_pip_requirements(name = environment_name, file_path = pip_file_path)\n",
"env.register(ws)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-environment2.png\" width=500><br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## コンピューティングクラスター (Compute Clusters) の作成\n",
"(バッチ的な) モデル学習に利用する計算クラスターであるコンピューティングクラスター (Compute Clusters) を作成します。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"名称は `cpu-clusters` とし、(例えば) Standard_F4s_v2 VM ファミリーを選択します。<br>\n",
"最小ノード数は 0、最大ード数は 4 などに設定し、コンピューティングクラスターを作成します。<br>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085810668
}
},
"outputs": [],
"source": [
"compute_name = \"cpu-clusters\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085811507
}
},
"outputs": [],
"source": [
"from azureml.core.compute import ComputeTarget, AmlCompute\n",
"\n",
"# TODO: 仮想ネットワークの情報を記載\n",
"# vnet_resourcegroup_name = \"\"\n",
"# vnet_name = \"\"\n",
"# subnet_name = \"default\"\n",
"\n",
"if compute_name not in ws.compute_targets: # compute_name の名前の Compute Cluster が無ければ...\n",
" compute_config = AmlCompute.provisioning_configuration(vm_size = \"Standard_F4S_V2\", \n",
" max_nodes=4, \n",
" idle_seconds_before_scaledown = 300,\n",
" #vnet_resourcegroup_name=vnet_resourcegroup_name,\n",
" #vnet_name=vnet_name,\n",
" #subnet_name=subnet_name\n",
" )\n",
"\n",
" ct = ComputeTarget.create(ws, compute_name, compute_config)\n",
" ct.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-computeclusters4.png\" width=500><br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## モデル学習の実行 (Runs s& Experiments)\n",
"モデル学習を実行します。それぞれの実行 (Runs) は実験 (Experiments) に情報が集約されます。実験名は `ftalive-lgb-train` とします。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085811566
}
},
"outputs": [],
"source": [
"from azureml.core import Experiment\n",
"\n",
"experiment_name = \"ftalive-lgb-train\"\n",
"experiment = Experiment(ws, experiment_name)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ScriptRunConfig で実行の構成設定をします。\n",
"- 参考ドキュメント : [トレーニングの実行を構成して送信する - スクリプト実行構成とは](https://docs.microsoft.com/ja-JP/azure/machine-learning/how-to-set-up-training-targets#whats-a-script-run-configuration)\n",
"\n",
"なお、学習コードは [src/train-lgb.py](src/train-lgb.py) から確認できます。学習データは Azure Machine Learning に登録されているものを呼びだしています。メトリックの記録は MLflow の Autolog 機能などを用いています。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085811603
}
},
"outputs": [],
"source": [
"from azureml.core import ScriptRunConfig\n",
"\n",
"script_dir = \"script\"\n",
"script_name = \"train-lgb.py\"\n",
"args = [\"--input-data\", titanic_ds.as_named_input('titanic')]\n",
"\n",
"src = ScriptRunConfig(\n",
" source_directory=script_dir,\n",
" script=script_name,\n",
" environment=env,\n",
" arguments=args,\n",
" compute_target=compute_name,\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ジョブを実行します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085817723
}
},
"outputs": [],
"source": [
"run = experiment.submit(src)\n",
"run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ジョブ実行が完了するまで待機します。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966563
}
},
"outputs": [],
"source": [
"run.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966613
}
},
"outputs": [],
"source": [
"# run.download_files(output_directory=experiment_name+\"_logging\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966620
}
},
"outputs": [],
"source": [
"run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常にジョブが実行されたことを確認します。<br>\n",
"<img src=\"docs/images/azureml-experiment1.png\" width=500><br>\n",
"実行時間、メトリック、コードなどの情報が確認できます。<br>\n",
"<img src=\"docs/images/azureml-experiment2.png\" width=1500><br>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<br>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## モデル登録 (Models)\n",
"ジョブ実行の run オブジェクトを利用して、モデル登録をします。<br>\n",
"※ Azure Machine Learning Studio 経由で実行する場合と違って、クライアント端末への学習済みモデルのダウンロードは不要です。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"gather": {
"logged": 1649085966624
}
},
"outputs": [],
"source": [
"from azureml.core import Model\n",
"\n",
"model = run.register_model(\n",
" model_name=\"ftalive-lgb-model\",\n",
" model_framework=\"LightGBM\",\n",
" model_framework_version=\"3.3.1\",\n",
" tags={'algorithm': 'lightGBM'}, \n",
" model_path = 'model')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Azure Machine Learning Studio にて正常に登録されていることを確認します。<br>\n",
"<img src=\"docs/images/azureml-model2.png\" width=500><br>"
]
}
],
"metadata": {
"interpreter": {
"hash": "6d65a8c07f5b6469e0fc613f182488c0dccce05038bbda39e5ac9075c0454d11"
},
"kernel_info": {
"name": "python38-azureml"
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.5"
},
"microsoft": {
"host": {
"AzureML": {
"notebookHasBeenCompleted": true
}
}
},
"nteract": {
"version": "nteract-front-end@1.0.0"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat": 4,
"nbformat_minor": 0
}