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:
datasetbevat een voorbeeld-trainingsgegevensset met audiobestanden. Deze bevat al detrain-split, dus je hoefttrainniet te specificeren wanneer jedatasetgebruikt.AutoFeatureExtractoris geïmporteerd uittransformers.modelis gelijk aanfacebook/wav2vec2-base.max_durationis gedefinieerd als 1 seconde.
Deze oefening maakt deel uit van de cursus
Efficiënt AI-modellen trainen met PyTorch
Oefeninstructies
- Laad een voorgetrainde
feature_extractormet de klasseAutoFeatureExtractor. - Stel de
sampling_ratein met de waarden uit defeature_extractor. - Stel de
max_lengthvan deaudio_arraysin metmax_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)