प्रशिक्षण के लिए इमेज और ऑडियो का प्रीप्रोसेसिंग

PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

Dennis Lee

Data Engineer, Amazon

इमेज और ऑडियो की तैयारी

इमेज अनुप्रयोग

  • वस्तु पहचान हेतु इमेज वर्गीकरण
  • डेटा शार्डिंग

 

एक ऑब्जेक्ट डिटेक्शन ऐप का चित्र, जो सड़क पर कारें दिखा रहा है। यह ऐप सड़क दृश्य के सामने हाथों में पकड़े फोन पर चल रहा है।

ऑडियो अनुप्रयोग

  • वॉइस कमांड दें
  • उदाहरण: "आवाज़ कम करें"

 

दृष्टिबाधित व्यक्तियों के लिए ऑडियो-आधारित सहायक तकनीक का चित्र, जिससे वे फोन पर वॉइस कमांड दे सकें।

PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

नमूना इमेज डेटासेट में संशोधन

print(dataset)
Dataset({
    features: ['img', 'label'],
    num_rows: 1000
})
print(dataset[0]["img"])
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=720x480>
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

इमेज फ़ॉर्मेट मानकीकृत करें

  • इमेज फ़ॉर्मेट: चौड़ाई, ऊँचाई
  • पिक्सेल मान मानकीकृत करें: औसत, मानक विचलन
  • AutoImageProcessor सभी प्रीप्रोसेसिंग चरण लोड करता है
from transformers import AutoImageProcessor
model = "microsoft/swin-tiny-patch4-window7-224"

image_processor = AutoImageProcessor.from_pretrained(model)
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

इमेज फ़ॉर्मेट मानकीकृत करें

dataset = dataset.map(
    lambda examples: {

"pixel_values": [
image_processor(image, return_tensors="pt").pixel_values for image in examples["img"] ]}, batched=True)
print(dataset)
Dataset({
    features: ['img', 'label', 'pixel_values'],
    num_rows: 1000
})
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

नमूना ऑडियो डेटासेट में संशोधन

print(dataset)
DatasetDict({
    train: Dataset({

features: ['file', 'audio',
'label'], num_rows: 1000 }), ... })
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

ऑडियो फ़ॉर्मेट मानकीकृत करें

  • सैंपल की संख्या मानकीकृत करें
  • सैंपलिंग रेट: प्रति सेकंड सैंपल
  • अधिकतम अवधि: ऑडियो की सेकंड में लंबाई
sampling_rate = 16000  # 16 kHz

max_duration = 1 # 1 second
max_length = sampling_rate * max_duration
print(f"max_length = {max_length:,} samples")
max_length = 16,000 samples
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

ऑडियो फ़ॉर्मेट मानकीकृत करें

from transformers import AutoFeatureExtractor

model = "facebook/wav2vec2-base"
feature_extractor = AutoFeatureExtractor.from_pretrained(model)


def preprocess_function(split_data):
audio_arrays = [x["array"] for x in split_data["audio"]]
inputs = feature_extractor(audio_arrays,
sampling_rate=feature_extractor.sampling_rate, max_length=int(feature_extractor.sampling_rate * max_duration),
truncation=True) return inputs
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

प्रीप्रोसेसिंग फ़ंक्शन लागू करें

  • preprocess_function को dataset पर मैप करें
  • remove_columns: audio और file कॉलम हटाएँ
  • batched: dataset उदाहरणों को बैच में प्रोसेस करें
dataset = dataset["train"].map(preprocess_function,

remove_columns=["audio", "file"],
batched=True)
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

प्रीप्रोसेसिंग फ़ंक्शन लागू करें

print(dataset)
DatasetDict({
    train: Dataset({
        features: ['label', 'input_values'],
        num_rows: 1000
    })
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

वितरित प्रशिक्षण हेतु डेटा तैयार करें

  • DataLoader: प्रशिक्षण के दौरान डेटा लोड और इटरेट करने हेतु तैयार करता है
  • accelerator.prepare(): उपलब्धता के अनुसार डेटा को CPU/GPU पर रखता है
  • डेटा शार्डिंग: प्रत्येक GPU प्रशिक्षण डेटा का एक भाग प्रोसेस करता है
  • accelerator.prepare() PyTorch DataLoaders (torch.utils.data.DataLoader) के साथ काम करता है
from accelerate import Accelerator
from torch.utils.data import DataLoader

dataloader = DataLoader(dataset, batch_size=32, shuffle=True)


accelerator = Accelerator() dataloader = accelerator.prepare(dataloader)
PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

Ayo berlatih!

PyTorch के साथ कुशल AI मॉडल प्रशिक्षण

Preparing Video For Download...