Data Manager

Prev Next

VPC環境で利用できます。

Data Managerの画面構成について説明します。Data Managerでは Workspace内のデータセットリストと詳細情報を照会できます。

参考
  • Data Managerにアップロードしたデータセットは Workspace内の異なるプロジェクトで参照できます。
  • Data Manager画面ではデータセットリストと詳細情報の照会のみできます。
  • Data Managerでデータセットのアップロード、削除、Tagや Branchの作成などのタスクを行うには、ML expert Platformの SDKをご利用ください。

Data Managerリストを照会

ユーザーが保存したデータセットリストの情報は、次の通りです。

mlxp_console_datamanager01_ko

  • Dataset Title: データセットアップロード時に設定した名前
  • 作成日時: 初期作成日時
  • Operation: [dataset detail] をクリックして詳細情報の照会画面に移動

Data Manager詳細情報を照会

選択したデータセットの詳細情報を照会できます。各情報はタブで分けられています。

Overview

選択したデータセットのメタデータを照会します。

Files and Versions

選択したデータセットのディレクトリ別のファイルリストを照会できます。

Data Manager SDKの使用

Data Manager SDKは Python基盤の Huggingface Dataset Interfaceをサポートしています。
SDKを通じてデータセットをアップロード/ダウンロードする方法は、次の通りです。

SDKインストール

SDKのインストールは、次のようなコマンドを通じてインストールできます。

pip install "ncloud-mlx[data-manager]" # double quotes are required

仕様

SDKを使用するには API Keyの作成と MLX endpointが必要です。作成された APIキーを入力して仕様を完了します。環境変数MLX_ENDPOINT_URLを endpoint urlに付与できます。

from mlx.sdk.data import login

login("{ API Key }") # MLXP API Key
login("{ API Key }", "{MLX endpoint}") # 環境変数ではなく login時に、endpoint urlを固定する方法

データセット読み取り

データセットを学習ロジックで使用するには、データセットクラスで読み取る必要があります。Huggingface Python SDK公式ドキュメントをご参照ください。

ローカルに位置したデータセットを読み取る方法は、次の通りです。

from mlx.sdk.data import load_dataset
ds = load_dataset(
    "{ ローカルに位置したデータパス }" #  ローカルデータパス e.g."path/to/folder/*"
)

Data Managerで管理されているデータセットを読み取る方法は、次の通りです。

from mlx.sdk.data import load_dataset
ds = load_dataset(
    "{ Workspace名 }/{ データセット名 }" # データセットの位置 e.g."workspaceA/datasetA"
)

データセットアップロード

データセットをアップロードする方法は Huggingface Dataset Interfaceと同様にサポートしており、詳細は Huggingface Python SDK公式ドキュメントをご参照ください。

代表的なアップロード方式は、次の通りです。

push_to_hub

...
ds.push_to_hub(
    repo_id="{ Workspace名 }/{ データセット名 }"
)
...

upload_file

from huggingface_hub import create_repo, upload_file

path = "{ Workspace名 }/{ データセット名 }" # アップロードするデータセットの位置
create_repo(repo_id=path, repo_type="dataset")
upload_file(
    repo_id=path,
    path_or_fileobj="{ ローカルのファイルパス }", # アップロードするローカルのファイルパス
    path_in_repo="path/to/folder/foo.csv", # データセット内のリモートファイルパス
    repo_type="dataset",
)

upload_folder

from huggingface_hub import create_repo, upload_folder

path = "{ Workspace名 }/{ データセット名 }" # アップロードするデータセットの位置
create_repo(repo_id=path, repo_type="dataset")
upload_folder(
    repo_id=path,
    folder_path="{ ローカルのディレクトリパス }", # アップロードするローカルのディレクトリパス
    path_in_repo="path/to/folder", # データセット内のリモートディレクトリパス
    repo_type="dataset",
)

データセットダウンロード

データセットをローカルディスクにダウンロードする方法は、次の通りです。

from huggingface_hub import snapshot_download

path = "{ Workspace名 }/{ データセット名 }" # アップロードするデータセットの位置
snapshot_download(
    repo_id=path,
    repo_type="dataset",
    local_dir="path/to/folder", # ダウンロードするディレクトリパス
    local_dir_use_symlinks="auto" # cache_dirを利用した symlinkの使用有無
)

Tagと Branchの作成

データセットを作成すると、固有の commit idが割り当てられます。この commit idを使用して特定 revisionのデータセットを読み取ることができ、追加情報のための tagを記録できます。

Tagを作成する方法は、次の通りです。

from huggingface_hub import create_tag

path = "{ Workspace名 }/{ データセット名 }" 
create_tag(
    repo_id=path,
    repo_type="dataset",
    tag="{ 作成する tag名}",
    revision="{ revision }",  # 基準バージョン。デフォルト値 main
    tag_message="{ tag message }"
)

tag messageのようなメタデータは immutableなため変更できませんが、削除後の再作成はできます。tagを削除する方法は、次の通りです。

from huggingface_hub import delete_tag

path = "{ Workspace名 }/{ データセット名 }" 
delete_tag(
    repo_id=path,
    repo_type="dataset",
    tag="{ 削除する tag名}"
)

Branchを作成する方法は、次の通りです。

from huggingface_hub import create_branch

path = "{ Workspace名 }/{ データセット名 }" 
create_branch(
    repo_id=path,
    repo_type="dataset",
    branch="{ 作成する branch名}",
    revision="{ revision }"
)

データセット削除

注意

データセットを削除すると復旧できませんので、ご注意ください。

from huggingface_hub import delete_repo

path = "{ Workspace名 }/{ データセット名 }" # 削除するデータセット
delete_repo(
    repo_id=path,
    repo_type="dataset"
)