Datasets documentation
オーディオデータを処理する
はじめに
チュートリアル
ハウツーガイド
概要
一般的な使用方法
読み込みプロセスストリームPyTorchでの使用TensorFlow との併用NumPy との併用JAXとの併用Pandas との併用Polars との併用PyArrowとの併用Spark との併用キャッシュ管理クラウドストレージ検索インデックスCLIトラブルシューティング
オーディオ
ビジョン
画像データを読み込む画像データを処理する画像データセットを作成する深度推定画像分類セマンティックセグメンテーションオブジェクト検出動画データの読み込み動画データセットを作成するドキュメントデータの読み込みドキュメントデータセットを作成する医療画像データセットの作成
3D
テキスト
表形式データ
時系列
エージェントの評価
データセットリポジトリ
コンセプトガイド
リファレンス
You are viewing main version, which requires installation from source. If you'd like
regular pip install, checkout the latest stable version (v5.2.0).
オーディオデータを処理する
このガイドでは、オーディオデータセットを処理するための具体的な方法を示します。次のことを学びます:
- サンプリングレートをリサンプリングします。
- オーディオデータセットにmap()を使用します。
あらゆるタイプのデータセットを処理する方法に関するガイドについては、一般的な処理ガイドをご覧ください。
キャスト
cast_column() 関数は、カラムをデコード対象の別のフィーチャーにキャストするために使用されます。Audio フィーチャーと組み合わせてこの関数を使用すると、サンプリングレートをリサンプリングできます:
>>> from datasets import load_dataset, Audio
>>> dataset = load_dataset("PolyAI/minds14", "en-US", split="train")
>>> dataset = dataset.cast_column("audio", Audio(sampling_rate=16000))オーディオファイルはオンザフライでデコードおよびリサンプリングされるため、次にサンプルにアクセスすると、オーディオファイルは16kHzにリサンプリングされます。
>>> audio = dataset[0]["audio"]
<datasets.features._torchcodec.AudioDecoder object at 0x11642b6a0>
>>> audio = audio_dataset[0]["audio"]
>>> samples = audio.get_all_samples()
>>> samples.data
tensor([[ 0.0000e+00, 0.0000e+00, 0.0000e+00, ..., 2.3447e-06,
-1.9127e-04, -5.3330e-05]]
>>> samples.sample_rate
16000

マップ
map() 関数を使用すると、データセット全体を一度に前処理できます。使用しているモデルの種類に応じて、feature extractor または processor を読み込む必要があります。
事前学習済みの音声認識モデルでは、
processorに特徴量抽出器とトークナイザーを組み合わせます:>>> from transformers import AutoTokenizer, AutoFeatureExtractor, AutoProcessor >>> model_checkpoint = "facebook/wav2vec2-large-xlsr-53" # after defining a vocab.json file you can instantiate a tokenizer object: >>> tokenizer = AutoTokenizer("./vocab.json", unk_token="[UNK]", pad_token="[PAD]", word_delimiter_token="|") >>> feature_extractor = AutoFeatureExtractor.from_pretrained(model_checkpoint) >>> processor = AutoProcessor.from_pretrained(feature_extractor=feature_extractor, tokenizer=tokenizer)ファインチューニングされた音声認識モデルでは、
processorを読み込むだけで十分です:>>> from transformers import AutoProcessor >>> processor = AutoProcessor.from_pretrained("facebook/wav2vec2-base-960h")
前処理関数にmap()を使用する際は、オーディオデータを実際にリサンプリングしていることを確認するために、audioカラムを含めてください:
>>> def prepare_dataset(batch):
... audio = batch["audio"]
... batch["input_values"] = processor(audio.get_all_samples().data, sampling_rate=audio["sampling_rate"]).input_values[0]
... batch["input_length"] = len(batch["input_values"])
... with processor.as_target_processor():
... batch["labels"] = processor(batch["sentence"]).input_ids
... return batch
>>> dataset = dataset.map(prepare_dataset, remove_columns=dataset.column_names)