Web Analytics

pytorch-accelerated

⭐ 193 stars Hindi by Chris-hughes10

🌐 भाषा

pytorch-accelerated

pytorch-accelerated एक हल्का लाइब्रेरी है जिसे PyTorch मॉडल्स के प्रशिक्षण की प्रक्रिया को तेज़ करने के लिए डिज़ाइन किया गया है जो एक न्यूनतम, लेकिन विस्तार योग्य प्रशिक्षण लूप प्रदान करता है - जो एकल Trainer ऑब्जेक्ट में समाहित है - जो अधिकांश उपयोग के मामलों को संभालने के लिए पर्याप्त लचीला है, और विभिन्न हार्डवेयर विकल्पों का उपयोग बिना कोड बदले करने में सक्षम है। pytorch-accelerated एक सुव्यवस्थित फीचर सेट प्रदान करता है, और सरलता और पारदर्शिता पर बहुत ज़ोर देता है,

उपयोगकर्ताओं को यह समझने में सक्षम बनाने के लिए कि अंदर क्या चल रहा है, लेकिन उन्हें खुद बोयलरप्लेट लिखने और बनाए रखने की आवश्यकता नहीं है! मुख्य विशेषताएं हैं:

व्यवहार को इनहेरिटेंस और/या कॉलबैक का उपयोग करके अनुकूलित किया जा सकता है। transformers और torchmetrics के साथ इंटरऑपरेट करता है। यह सुनिश्चित करने के लिए काफी प्रयास किया गया है कि लाइब्रेरी का हर हिस्सा - आंतरिक और बाहरी घटक दोनों - जितना संभव हो उतना स्पष्ट और सरल हो, जिससे अनुकूलित करना, डिबग करना और प्रत्येक चरण में पर्दे के पीछे क्या हो रहा है, ठीक से समझना आसान हो; ट्रेनर का अधिकांश व्यवहार एक ही क्लास में निहित है! Python की भावना में, कुछ भी छुपाया नहीं गया है और सब कुछ सुलभ है।

pytorch-accelerated गर्वपूर्वक और पारदर्शी रूप से Hugging Face Accelerate के ऊपर निर्मित है, जो डिवाइसों के बीच डेटा के मूवमेंट और प्रशिक्षण कॉन्फ़िगरेशन लॉन्च करने के लिए जिम्मेदार है। जब ट्रेनर को कस्टमाइज करने या प्रशिक्षण लॉन्च करने की बात आती है, उपयोगकर्ताओं को Accelerate documentation देखने के लिए प्रोत्साहित किया जाता है ताकि वे सभी उपलब्ध विकल्पों को समझ सकें; Accelerate टेंसर को इकट्ठा करने और ग्रेडिएंट क्लिपिंग जैसी सुविधाजनक फंक्शन प्रदान करता है, जिसका उपयोग pytorch-accelerated examples फोल्डर में देखा जा सकता है!

इस लाइब्रेरी के पीछे की प्रेरणाओं और विस्तृत प्रारंभिक मार्गदर्शिका के बारे में अधिक जानने के लिए, यह ब्लॉग पोस्ट देखें।

स्थापना

pytorch-accelerated को निम्नलिखित कमांड का उपयोग करके pip से इंस्टॉल किया जा सकता है:

pip install pytorch-accelerated
पैकेज को यथासंभव पतला रखने के लिए, उदाहरणों को चलाने के लिए आवश्यक पैकेज डिफ़ॉल्ट रूप से शामिल नहीं किए गए हैं। इन पैकेजों को शामिल करने के लिए, आप निम्नलिखित कमांड का उपयोग कर सकते हैं:

pip install pytorch-accelerated[examples]

त्वरित प्रारंभ

शुरू करने के लिए, बस pytorch-accelerated Trainer को इम्पोर्ट करें और उपयोग करें, जैसा कि निम्न उदाहरण में दिखाया गया है, और फिर प्रशिक्षण आरंभ करें accelerate CLI का उपयोग करते हुए, जैसा कि नीचे वर्णित है।

# examples/core/train_mnist.py
import os

from torch import nn, optim from torch.utils.data import random_split from torchvision import transforms from torchvision.datasets import MNIST

from pytorch_accelerated import Trainer

class MNISTModel(nn.Module): def __init__(self): super().__init__() self.main = nn.Sequential( nn.Linear(in_features=784, out_features=128), nn.ReLU(), nn.Linear(in_features=128, out_features=64), nn.ReLU(), nn.Linear(in_features=64, out_features=10), )

def forward(self, input): return self.main(input.view(input.shape[0], -1))

def main(): dataset = MNIST(os.getcwd(), download=True, transform=transforms.ToTensor()) train_dataset, validation_dataset, test_dataset = random_split(dataset, [50000, 5000, 5000]) model = MNISTModel() optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9) loss_func = nn.CrossEntropyLoss()

trainer = Trainer( model, loss_func=loss_func, optimizer=optimizer, )

trainer.train( train_dataset=train_dataset, eval_dataset=validation_dataset, num_epochs=8, per_device_batch_size=32, )

trainer.evaluate( dataset=test_dataset, per_device_batch_size=64, ) if __name__ == "__main__": main()

accelerate CLI का उपयोग करके प्रशिक्षण शुरू करने के लिए, अपने मशीन(मशीनों) पर निम्न कमांड चलाएँ:

accelerate config --config_file accelerate_config.yaml

और पूछे गए प्रश्नों के उत्तर दें। यह एक config फ़ाइल तैयार करेगा जिसका उपयोग डिफ़ॉल्ट विकल्पों को सही ढंग से सेट करने के लिए किया जाएगा जब

accelerate launch --config_file accelerate_config.yaml train.py [--training-args]

नोट: accelerate CLI का उपयोग पूरी तरह से वैकल्पिक है, प्रशिक्षण सामान्य तरीके से भी शुरू किया जा सकता है:

python train.py / python -m torch.distributed ...

यह आपकी इंफ्रास्ट्रक्चर सेटिंग पर निर्भर करता है, उन उपयोगकर्ताओं के लिए जो लॉन्च कमांड पर अधिक सूक्ष्म नियंत्रण रखना चाहते हैं।

अधिक जटिल प्रशिक्षण उदाहरण उदाहरण फ़ोल्डर में देखे जा सकते हैं यहाँ

वैकल्पिक रूप से, यदि आप पहले मुख्य अवधारणाओं को समझना चाहें, तो यह डॉक्युमेंटेशन में पाया जा सकता है।

उपयोग

pytorch-accelerated किसके लिए है?

ताकि प्रशिक्षण लूप के रोचक हिस्सों पर ध्यान केंद्रित कर सकें।

कब मुझे pytorch-accelerated का उपयोग नहीं करना चाहिए?

जो आपको मॉडल, ऑप्टिमाइज़र या लॉस फंक्शन चुनने में मदद करे, तो आपको शायद fastai अधिक उपयुक्त रहेगा। pytorch-accelerated केवल प्रशिक्षण प्रक्रिया पर केंद्रित है, अन्य सभी पहलुओं की जिम्मेदारी उपयोगकर्ता पर छोड़ दी जाती है। तो आपके लिए Accelerate का सीधे उपयोग करना सबसे बेहतर रहेगा! जबकि Trainer के हर हिस्से को कस्टमाइज़ करना संभव है, प्रशिक्षण लूप मूल रूप से कई हिस्सों में विभाजित है

वे विभिन्न विधियाँ हैं जिन्हें आपको ओवरराइड करना होगा। लेकिन, जाने से पहले, क्या उन for लूप्स को लिखना वास्तव में इतना महत्वपूर्ण है कि फिर से शून्य से शुरू किया जाए फिर से 😉।

आभार

pytorch-accelerated के डिज़ाइन और विशेषताओं के पीछे कई पहलू अनेक उत्कृष्ट लाइब्रेरीज़ और फ्रेमवर्क्स से प्रेरित हैं जैसे fastai, timm, PyTorch-lightning और Hugging Face Accelerate। इन सभी टूल्स ने इस लाइब्रेरी और मशीन लर्निंग समुदाय दोनों पर भारी प्रभाव डाला है, और उनका प्रभाव पर्याप्त रूप से बताया नहीं जा सकता!

pytorch-accelerated ने इन टूल्स से केवल प्रेरणा ली है, और इसमें मौजूद सभी कार्यक्षमताएँ शून्य से इस लाइब्रेरी के लाभ के अनुसार लागू की गई हैं। इसका अपवाद केवल कुछ स्क्रिप्ट्स हैं जो examples फोल्डर में हैं, जिनमें मौजूदा संसाधनों को लिया गया और संशोधित किया गया ताकि pytorch-accelerated की विशेषताओं को दिखाया जा सके; इन मामलों को स्पष्ट रूप से चिन्हित किया गया है, और मूल लेखकों को श्रेय दिया गया है।

--- Tranlated By Open Ai Tx | Last indexed: 2026-02-28 ---