Datasets documentation
Ses verilerini işleyin
Ses verilerini işleyin
Bu kılavuz, ses veri setlerini işleme için belirli yöntemleri gösterir. Şunları öğrenin:
- Örnekleme hızını yeniden örnekle.
- Ses veri kümeleriyle map() kullanın.
Herhangi bir veri seti türünü işleme konusunda bir kılavuz için genel işlem kılavuzuna göz atın.
Dönüştür
cast_column() fonksiyonu, bir sütunu çözümlenecek başka bir özelliğe dönüştürmek için kullanılır. Bu fonksiyonu Audio özelliğiyle kullandığınızda örneklem hızını yeniden örnekleyebilirsiniz:
>>> from datasets import load_dataset, Audio
>>> dataset = load_dataset("PolyAI/minds14", "en-US", split="train")
>>> dataset = dataset.cast_column("audio", Audio(sampling_rate=16000))Ses dosyaları anlık olarak çözümlenir ve yeniden örneklenir, bu nedenle bir örneğe bir sonraki erişimde ses dosyası 16kHz'e yeniden örneklenir:
>>> 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

Harita
map() fonksiyonu, tüm veri setinizi tek seferde ön işlemeye yardımcı olur. Çalıştığınız model türüne bağlı olarak bir feature extractor veya bir processor yüklemeniz gerekir.
Önceden eğitilmiş konuşma tanıma modelleri için bir özellik çıkarıcı ve bir belirteç ayrıştırıcı yükleyin ve bunları bir
processoriçinde birleştirin:>>> 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)İnce ayarlanmış konuşma tanıma modelleri için yalnızca bir
processoryüklemeniz gerekir:>>> from transformers import AutoProcessor >>> processor = AutoProcessor.from_pretrained("facebook/wav2vec2-base-960h")
Ön işleme işlevinizle map() kullanırken, ses verisinin gerçekten yeniden örneklenmesini sağlamak için audio sütununu dahil edin:
>>> 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)