Google Colab یک محیط رایگان و مبتنی بر ابر است که به شما امکان می‌دهد به راحتی مدل‌های یادگیری عمیق را آموزش دهید. در زیر مراحل اصلی برای استفاده از Google Colab برای آموزش شبکه‌ های عصبی عمیق توضیح داده شده است.

مرحله 1: شروع کار با Google Colab

  1. به وب‌سایت Google Colab بروید.
  2. یک نوت‌بوک جدید ایجاد کنید یا از یکی از نوت‌بوک‌های قبلی خود استفاده کنید.

مرحله 2: پیکربندی محیط

۲.۱: فعال‌سازی GPU

برای تسریع فرآیند آموزش، مطمئن شوید که از GPU استفاده می‌کنید:

  1. به منوی Runtime بروید.
  2. گزینه Change runtime type را انتخاب کنید.
  3. در قسمت Hardware accelerator، گزینه GPU را انتخاب کنید.
  4. بر روی Save کلیک کنید.

۲.۲: نصب کتابخانه‌های مورد نیاز

کتابخانه‌های مورد نیاز برای آموزش شبکه‌ های عصبی عمیق خود را نصب کنید. کد زیر را در یک سلول جدید وارد کرده و اجرا کنید:

!pip install tensorflow  # برای TensorFlow
!pip install torch torchvision  # برای PyTorch

مرحله 3: بارگذاری داده‌ها

می‌توانید داده‌های خود را از منابع مختلف بارگذاری کنید. برای مثال، می‌توانید از Google Drive یا دیتاست‌های از پیش تعیین شده استفاده کنید. برای بارگذاری داده‌ها از Google Drive:

from google.colab import drive
drive.mount('/content/drive')

# حالا می‌توانید به فایل‌های خود در Google Drive دسترسی داشته باشید

برای بارگذاری دیتاست‌های از پیش تعیین شده، می‌توانید از کد زیر استفاده کنید:

import tensorflow as tf
from tensorflow.keras import datasets

# بارگذاری دیتاست MNIST
(x_train, y_train), (x_test, y_test) = datasets.mnist.load_data()

# نرمال سازی داده‌ها
x_train, x_test = x_train / 255., x_test / 255.

آموزش گوگل کولب (رایگان)

مرحله 4: ساخت مدل شبکه عصبی

۴.۱: با TensorFlow

می‌توانید یک شبکه عصبی عمیق ساده با استفاده از Keras ایجاد کنید:

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),  # لایه ورودی
    tf.keras.layers.Dense(128, activation='relu'),  # لایه مخفی
    tf.keras.layers.Dropout(.2),  # لایه Dropout
    tf.keras.layers.Dense(10, activation='softmax')  # لایه خروجی
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

۴.۲: با PyTorch

مدل مشابهی با PyTorch به شکل زیر ایجاد می‌شود:

import torch
import torch.nn as nn
import torch.optim as optim

class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc1 = nn.Linear(28*28, 128)
        self.fc2 = nn.Linear(128, 10)

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

model = SimpleNN()

مرحله 5: آموزش مدل

۵.۱: با TensorFlow

model.fit(x_train, y_train, epochs=5)

۵.۲: با PyTorch

criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())

for epoch in range(5):
    model.train()
    optimizer.zero_grad()
    outputs = model(torch.tensor(x_train, dtype=torch.float32))
    loss = criterion(outputs, torch.tensor(y_train, dtype=torch.long))
    loss.backward()
    optimizer.step()
    print(f'Epoch [{epoch+1}/5], Loss: {loss.item():.4f}')

مرحله 6: ارزیابی مدل

برای ارزیابی مدل‌های آموزشی خود، از داده‌های تست استفاده کنید:

۶.۱: با TensorFlow

test_loss, test_acc = model.evaluate(x_test, y_test)
print('Test accuracy:', test_acc)

۶.۲: با PyTorch

model.eval()
with torch.no_grad():
    inputs = torch.tensor(x_test, dtype=torch.float32)
    outputs = model(inputs.view(-1, 28*28))
    _, predicted = torch.max(outputs.data, 1)
    accuracy = (predicted == torch.tensor(y_test)).sum().item() / len(y_test)
    print(f'Test accuracy: {accuracy:.4f}')

نتیجه‌ گیری

با استفاده از Google Colab، می‌توانید به راحتی شبکه‌ های عصبی عمیق را آموزش دهید و از قدرت محاسباتی GPU برای تسریع فرآیندها بهره‌برداری کنید. از این محیط برای یادگیری، توسعه و آزمایش مدل‌های خود استفاده کنید!