Google Colab یک محیط رایگان و مبتنی بر ابر است که به شما امکان میدهد به راحتی مدلهای یادگیری عمیق را آموزش دهید. در زیر مراحل اصلی برای استفاده از Google Colab برای آموزش شبکه های عصبی عمیق توضیح داده شده است.
سرفصل های مقاله
مرحله 1: شروع کار با Google Colab
- به وبسایت Google Colab بروید.
- یک نوتبوک جدید ایجاد کنید یا از یکی از نوتبوکهای قبلی خود استفاده کنید.
مرحله 2: پیکربندی محیط
۲.۱: فعالسازی GPU
برای تسریع فرآیند آموزش، مطمئن شوید که از GPU استفاده میکنید:
- به منوی Runtime بروید.
- گزینه Change runtime type را انتخاب کنید.
- در قسمت Hardware accelerator، گزینه GPU را انتخاب کنید.
- بر روی 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 برای تسریع فرآیندها بهرهبرداری کنید. از این محیط برای یادگیری، توسعه و آزمایش مدلهای خود استفاده کنید!