البايثون بباي تورش #77

Posted by


PyTorch هي مكتبة Python مفتوحة المصدر وقوية تستخدم لبناء وتدريب النماذج العميقة للتعلم الآلي. PyTorch توفر واجهة سهلة الاستخدام ومرنة لبناء النماذج العميقة، وتأتي مع مجموعة واسعة من الأدوات والمكتبات لمساعدة المطورين في تطوير تطبيقات التعلم الآلي.

في هذا الدرس ، سنقوم بتقديم PyTorch وكيفية البدء في استخدامه. سوف نناقش كيفية تثبيت PyTorch واستخدامه في بناء نماذج عميقة لمجموعة متنوعة من المشكلات.

خطوة 1: تثبيت PyTorch
أول خطوة لاستخدام PyTorch هي تثبيته. يمكنك تثبيت PyTorch باستخدام pip من خلال الأمر التالي:

pip install torch

يمكنك أيضًا تثبيت الإصدار المحدد من PyTorch باستخدام الأمر التالي:

pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/lts.html

خطوة 2: استيراد PyTorch
بمجرد تثبيت PyTorch ، يمكنك استيراده في برنامج Python الخاص بك باستخدام الأمر التالي:

import torch

ثم بامكانك البدء في استخدام PyTorch لبناء نماذج عميقة.

خطوة 3: بناء نموذج باستخدام PyTorch
لبناء نموذج عميق باستخدام PyTorch ، تحتاج إلى تعريف الطبقات الخاصة بك وكيفية تدفق البيانات خلال النموذج. على سبيل المثال ، يمكنك بناء نموذج شبكة عصبية باستخدام PyTorch كما يلي:

import torch
import torch.nn as nn

# تعريف الطبقات الشبكة العصبية
class MyModel(nn.Module):
    def __init__(self):
        super(MyModel, self).__init__()
        self.fc1 = nn.Linear(784, 128)
        self.fc2 = nn.Linear(128, 10)

    def forward(self, x):
        x = x.view(x.size(0), -1)
        x = torch.relu(self.fc1(x))
        x = self.fc2(x)
        return x

# إنشاء مثيل من النموذج
model = MyModel()

يمكنك الآن استخدام هذا النموذج لتدريبه على البيانات واختباره لتحديد كفاءته في المهام المعينة.

خطوة 4: تدريب النموذج باستخدام PyTorch
لتدريب النموذج باستخدام PyTorch ، تحتاج إلى تعريف دالة الخسارة وخوارزمية الإعداد وجدول البيانات ومتكرر التدريب. على سبيل المثال ، يمكنك تدريب النموذج السابق باستخدام بيانات MNIST كما يلي:

import torch.optim as optim
import torchvision
import torchvision.transforms as transforms

# تحميل بيانات MNIST
dataset = torchvision.datasets.MNIST(root='./data', train=True, download=True,
                           transform=transforms.Compose([
                               transforms.ToTensor(),
                               transforms.Normalize((0.1307,), (0.3081,))
                           ]))

# تحميل البيانات
train_loader = torch.utils.data.DataLoader(dataset, batch_size=64, shuffle=True)

# تعريف دالة الخسارة وخوارزمية الإعداد
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

# متكرر التدريب
for epoch in range(10):
    for images, labels in train_loader:
        optimizer.zero_grad()
        outputs = model(images)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

بهذه الطريقة ، يمكنك تدريب النموذج باستخدام PyTorch واستخدامه في تصنيف الصور والكثير من التطبيقات الأخرى في مجال التعلم الآلي.

هذا كان نظرة عامة على كيفية استخدام PyTorch لبناء وتدريب النماذج العميقة في Python. تجربة PyTorch واكتشاف قوتها في تعلم الآلي!