Datasets documentation
オーディオデータを処理する
はじめに
チュートリアル
ハウツーガイド
概要
一般的な使用方法
読み込みプロセスストリームPyTorchでの使用TensorFlow との併用NumPy との併用JAXとの併用Pandas との併用Polars との併用PyArrowとの併用Spark との併用キャッシュ管理クラウドストレージ検索インデックスCLIトラブルシューティング
オーディオ
ビジョン
画像データを読み込む画像データを処理する画像データセットを作成する深度推定画像分類セマンティックセグメンテーションオブジェクト検出動画データの読み込み動画データセットを作成するドキュメントデータの読み込みドキュメントデータセットを作成する医療画像データセットの作成
3D
テキスト
表形式データ
時系列
エージェントの評価
データセットリポジトリ
コンセプトガイド
リファレンス
オーディオデータを処理する
このガイドでは、オーディオデータセットを処理するための具体的な方法を示します。次のことを学びます:
- サンプリングレートをリサンプリングします。
- オーディオデータセットに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)