Aan de slagBegin gratis

Audiogegevenssets preprocessen

Je breidt je precisielandbouw-app uit door boeren hun machines met spraakopdrachten te laten bedienen. Het systeem moet trefwoorden in commando’s herkennen, zoals "Turn on the sprinkler irrigation system."

Je gebruikt een keyword spotting-gegevensset met audioclips van trefwoorden zoals "on". Preprocess de audiobestanden zodat ze gebruikt kunnen worden met een voorgetraind Transformer-model!

Er is al wat data vooraf geladen:

  • dataset bevat een voorbeeld-trainingsgegevensset met audiobestanden. Deze bevat al de train-split, dus je hoeft train niet te specificeren wanneer je dataset gebruikt.
  • AutoFeatureExtractor is geïmporteerd uit transformers.
  • model is gelijk aan facebook/wav2vec2-base.
  • max_duration is gedefinieerd als 1 seconde.

Deze oefening maakt deel uit van de cursus

Efficiënt AI-modellen trainen met PyTorch

Bekijk cursus

Oefeninstructies

  • Laad een voorgetrainde feature_extractor met de klasse AutoFeatureExtractor.
  • Stel de sampling_rate in met de waarden uit de feature_extractor.
  • Stel de max_length van de audio_arrays in met max_duration.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Load a pre-trained feature extractor
feature_extractor = ____.____(model)

def preprocess_function(examples):
    audio_arrays = [x["array"] for x in examples["audio"]]
    inputs = feature_extractor(
        audio_arrays,
        # Set the sampling rate
        sampling_rate=____.____, 
        # Set the max length
        max_length=int(feature_extractor.sampling_rate * max_duration), 
        truncation=True)
    return inputs

encoded_dataset = dataset.map(preprocess_function, remove_columns=["audio", "file"], batched=True)
Code bewerken en uitvoeren