TensorFlow.org で表示 |
Google Colab で実行 |
GitHub で表示 |
ノートブックをダウンロード |
概要
データセットコレクションは、任意の数の既存の TFDS データセットをグループ化し、それらに単純な演算を実行するための単純な方法を提供します。
たとえば、同じタスクに関連する様々なデータセットをグループ化したり、一定の数の様々なタスクでモデルを簡単にベンチマークしたりするのに役立ちます。
セットアップ
まず、いくつかのパッケージをインストールします。
# Use tfds-nightly to ensure access to the latest features.pip install -q tfds-nightly tensorflowpip install -U conllu
TensorFlow と Tensorflow Datasets パッケージを開発環境にインポートします。
import pprint
import tensorflow as tf
import tensorflow_datasets as tfds
データセットコレクションは、任意の数の既存の TensorFlow Datasets(TFDS)データセットをグループ化し、それらに単純な演算を実行するための単純な方法を提供します。
たとえば、同じタスクに関連する様々なデータセットをグループ化したり、一定の数の様々なタスクでモデルを簡単にベンチマークしたりするのに役立ちます。
利用可能なデータセットコレクションを見つける
すべてのデータセットコレクションは、tfds.core.dataset_collection_builder.DatasetCollection のサブクラスです。
利用可能なビルダーのリストを取得するには、tfds.list_dataset_collections() を使用します。
tfds.list_dataset_collections()
データセットコレクションを読み込んで検査する
データセットコレクションを読み込む最も簡単な方法は、tfds.dataset_collection コマンドを使用して DatasetCollectionLoader オブジェクトをインスタンス化することです。
collection_loader = tfds.dataset_collection('xtreme')
TFDS データセットと同じ構文に従って、データセットコレクションの特定のバージョンを読み込むことができます。
collection_loader = tfds.dataset_collection('xtreme:1.0.0')
データセットコレクションローダーは、コレクションに関する情報を表示できます。
collection_loader.print_info()
データセットコレクションローダーは、コレクションに含まれるデータセットに関する情報も表示できます。
collection_loader.print_datasets()
データセットコレクションからデータセットを読み込む
コレクションから 1 つのデータセットを読み込む最も簡単な方法は、DatasetCollectionLoader オブジェクトの load_dataset メソッドを使用することです。これは、tfds.load を呼び出して、必要なデータセットを読み込みます。
この呼び出しは、分割名とそれに対応する tf.data.Dataset のディクショナリを返します。
splits = collection_loader.load_dataset("ner")
pprint.pprint(splits)
load_dataset は、以下のオプションのパラメータを受け入れます。
split: 読み込む分割。単一の分割(split="test")または分割のリスト(split=["train", "test"])を受け付けます。指定されていない場合は、特定のデータセットのすべての分割を読み込みます。loader_kwargs:tfds.load関数に渡されるキーワード引数。様々な読み込みオプションの総合的な概要については、tfds.loadドキュメントをご覧ください。
データセットコレクションから複数のデータセットを読み込む
コレクションから複数のデータセットを読み込む最も簡単な方法は、DatasetCollectionLoader オブジェクトの load_datasets メソッドを使用することです。これは、tfds.load を呼び出して、必要なデータセットを読み込みます。
このメソッドはデータセット名のディクショナリを返し、以下の例のように、それぞれが分割名とそれに対応する tf.data.Dataset のディクショナリに関連付けられています。
datasets = collection_loader.load_datasets(['xnli', 'bucc'])
pprint.pprint(datasets)
load_all_datasets メソッドは、特定のコレクションの利用可能なすべてのデータセットを読み込みます。
all_datasets = collection_loader.load_all_datasets()
pprint.pprint(all_datasets)
load_datasets メソッドは、以下のオプションのパラメータを受け入れます。
split: 読み込む分割。単一の分割(split="test")または分割のリスト(split=["train", "test"])を受け付けます。指定されていない場合は、特定のデータセットのすべての分割を読み込みます。loader_kwargs:tfds.load関数に渡されるキーワード引数。様々な読み込みオプションの総合的な概要については、tfds.loadドキュメントをご覧ください。
loader_kwargs を指定する
loader_kwargs は、tfds.load 関数に渡されるオプションのキーワード引数です。以下の 3 つの方法で指定できます。
DatasetCollectionLoaderクラスの初期化時:
collection_loader = tfds.dataset_collection('xtreme', loader_kwargs=dict(split='train', batch_size=10, try_gcs=False))
DatasetCollectioLoaderのset_loader_kwargsメソッドを使用する:
collection_loader.set_loader_kwargs(dict(split='train', batch_size=10, try_gcs=False))
load_dataset、load_datasets、およびload_all_datasetsメソッドのオプションのパラメータとして:
dataset = collection_loader.load_dataset('ner', loader_kwargs=dict(split='train', batch_size=10, try_gcs=False))
フィードバック
データセット作成ワークフローは継続的な改善が進められていますが、問題を認識していなければ、改善することはできません。データセットの作成中にどのような問題またはエラーが発生しましたか?混乱したり、初めて使用したときに機能しなかった部分はありませんでしたか?フィードバックを GitHub にお送りください。
TensorFlow.org で表示
Google Colab で実行
GitHub で表示
ノートブックをダウンロード