見出し画像

Huggingface Datasets 入門 (1) - 事始め

「Huggingface Datasets」の使い方をまとめました。

・Huggingface Transformers 4.1.1
・Huggingface Datasets 1.2

1. Huggingface Datasets

Huggingface Datasets」は、パブリックなデータセットの「ダウンロード」と「前処理」の機能を提供する軽量ライブラリです。

ドキュメント
チュートリアル
データセットの検索

「Huggingface Datasets」には、さらに多くの興味深い機能があります。

・大規模なデータセットの利用
効率的なゼロシリアル化コストバックエンド(Apache Arrow)でメモリマップし、RAMメモリの制限から解放します。
・スマートキャッシュ
データが毎回処理されるのを待つ必要はありません。
・軽量・高速
transparent and pythonic API(マルチプロセッシング/キャッシング/メモリマッピング)を提供します。
・組み込みの相互運用性
NumPy、pandas、PyTorch、Tensorflow 2、JAXなど。

「Huggingface Datasets」は、15以上の評価指標も提供し、コミュニティが新しいデータセットと評価指標を簡単に追加および共有できるように設計されています。

2. Huggingface Datasetsのインストール

インストールコマンドは、次のとおりです。

!pip install datasets

PyTorch(1.0 +)、TensorFlow(2.2+)、pandasでデータセットを使用する場合は、これらもインストールする必要があります。

3. Huggingface DatasetsのAPI

「Huggingface Datasets」のAPIは、次のとおりです。

・datasets.list_datasets() : 利用可能なデータセットの一覧表示。
・datasets.load_dataset(dataset_name, **kwargs) : データセットのインスタンス化。
・datasets.list_metrics() : 利用可能なメトリックの一覧表示。
・datasets.load_metric(metric_name, **kwargs) : メトリックのインスタンス化する

主なAPIの使用例は、次のとおりです。

from datasets import list_datasets, load_dataset, list_metrics, load_metric

# 利用可能なデータセットの一覧表示
print(list_datasets())

# データセットのインスタンス化
squad_dataset = load_dataset('squad')
print(squad_dataset['train'][0])

# 利用可能なメトリックの一覧表示
print(list_metrics())

# メトリックのインスタンス化
squad_metric = load_metric('squad')

# データセットの処理 - コンテキストテキストの長さの列を追加
dataset_with_length = squad_dataset.map(lambda x: {"length": len(x["context"])})

# データセットの処理 - コンテキストテキストのトークン化
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('bert-base-cased')

tokenized_dataset = squad_dataset.map(lambda x: tokenizer(x['context']), batched=True)

次回



この記事が気に入ったらサポートをしてみませんか?