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 (v4.8.4).
오디오 데이터 처리
이 가이드에서는 오디오 데이터셋을 처리하는 구체적인 방법을 보여줍니다. 다음을 배워보세요:
- 샘플링 레이트를 리샘플링합니다.
- 오디오 데이터셋에 map()을 사용합니다.
모든 유형의 데이터셋을 처리하는 방법에 대한 가이드는 일반 처리 가이드를 참고하세요.
캐스팅
cast_column() 함수는 컬럼을 디코딩할 다른 feature로 캐스팅하는 데 사용됩니다. 이 함수를 Audio feature와 함께 사용하면 샘플링 레이트를 리샘플링할 수 있습니다:
>>> 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를 로드해야 합니다.
사전 학습된 음성 인식 모델의 경우, feature extractor와 tokenizer를 로드하여
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")
audio 컬럼을 포함하여 map()을 전처리 함수와 함께 사용하면 오디오 데이터가 실제로 리샘플링되는지 확인할 수 있습니다:
>>> 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)