Datasets documentation

Ses verilerini işleyin

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).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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 processor iç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 processor yü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)
Update on GitHub