このプロジェクトについて

Hugging Face Datasetsは、公開データセットのための一行データローダーと、効率的で再現可能なデータ前処理という2つの主要な機能に焦点を当てた軽量Pythonライブラリです。 データの読み込み - `load_dataset()`は、Hugging Face Hubまたはローカルファイルからデータセットを取得します。Hubには、画像、音声、テキスト(数百の言語と方言)、3D医用画像、動画、AIエージェントのトレースをカバーする、大規模で成長を続けるデータセットコレクションがホストされています。 - サポートされるローカル形式には、CSV、JSON、JSONL、Parquet、Arrow、HDF5、XML、プレーンテキスト、PNG、JPEG、WAV、MP3、PDF、NIfTIが含まれます。 - データセットは、辞書、リスト、Pandas DataFrame、またはジェネレータなどのPythonオブジェクトから構築することもできます。 データの処理 - `dataset.map()`は、バッチ処理とマルチプロセッシング(`num_proc`)による並列高速化を備え、ユーザー定義関数をサンプルに適用します。 - 結果はキャッシュされるため、繰り返しの処理ステップが再計算されることはありません。 - Apache Arrowバックエンドは、ゼロコピーでメモリマップされたストレージを提供し、データセットが利用可能なRAMを超えることを可能にします。 - ストリーミングモード(`streaming=True`)は、データを事前にダウンロードせずにその場で反復処理し、非常に大規模またはディスク制約のあるワークロードに役立ちます。 相互運用性 - NumPy、Pandas、Polars、Arrow、PyTorch、TensorFlow、JAX、Sparkとのネイティブ変換。 - 類似性検索のための組み込みのFAISSおよびElasticsearchインデックスサポート。 - `Json()`フィーチャータイプは、柔軟な構造化データを処理します。 主要クラス - `Dataset`:インメモリまたはメモリマップ型で、インデックス付け、スライス、ランダムアクセス、キャッシュをサポートします。 - `IterableDataset`:アウトオブコア処理のための遅延かつストリーム可能。 - 両方とも、トレイン/テスト/バリデーションなどのマルチスプリットデータセット用に`DatasetDict` / `IterableDatasetDict`でラップされます。 インストールと拡張機能 - pip(`pip install datasets`)またはconda(`conda install -c huggingface -c conda-forge datasets`)でインストール可能。 - オプションの拡張機能は、オーディオ、ビジョン、PDF/NIfTI、およびPyTorch、TensorFlow、JAXのフレームワーク統合をカバーします。 コミュニティと再現性 - プロジェクトでは、Web、Python、またはGitを介してHubでデータセットをアップロードおよび共有する方法を文書化しています。 - ユーザーは、再現性のためにデータセットのリビジョンを固定することが推奨されています。 - 貢献は歓迎されており、問題、プルリクエスト、コードスタイル(Ruff)、テスト、ドキュメントをカバーする貢献ガイドがあります。 - このライブラリは、EMNLP 2021システムデモンストレーションペーパーで説明されており、引用用にバージョン管理されたZenodo DOIがあります。