Python3
200 subscribers
102 photos
6 videos
26 files
518 links
🎓 آموزش و پروژه‌های Python
آموزش‌های کاربردی و پروژه‌های عملی Python برای همه سطوح. 🚀
Download Telegram
پارت ۳: پیاده‌سازی شبکه عصبی کانولوشنی (CNN) در پایتون با استفاده از Keras 🖥️🚀

در این قسمت، به نحوه پیاده‌سازی شبکه عصبی کانولوشنی (CNN) در پایتون با استفاده از کتابخانه Keras خواهیم پرداخت. Keras یک کتابخانه قدرتمند و کاربرپسند است که برای ساخت و آموزش مدل‌های یادگیری عمیق استفاده می‌شود.

۱. آماده‌سازی محیط کاری 🧑‍💻
قبل از شروع به کدنویسی، ابتدا باید کتابخانه‌های مورد نیاز را نصب کنیم. اگر Keras و TensorFlow را هنوز نصب نکردید، از دستورات زیر استفاده کنید:

pip install tensorflow

پس از نصب، می‌توانید از Keras برای ساخت مدل CNN استفاده کنید.

۲. ساختار مدل CNN در Keras 🔧
در اینجا ساختار یک مدل CNN ساده با استفاده از Keras را توضیح می‌دهیم:

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

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

۲.۲. ساخت مدل
حالا یک مدل ساده CNN ایجاد می‌کنیم که شامل لایه‌های کانولوشن، پولوینگ و کاملاً متصل است:

# ساخت مدل Sequential
model = Sequential()

# لایه کانولوشن اول
model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)))

# لایه پولوینگ اول
model.add(MaxPooling2D(pool_size=(2, 2)))

# لایه کانولوشن دوم
model.add(Conv2D(64, (3, 3), activation='relu'))

# لایه پولوینگ دوم
model.add(MaxPooling2D(pool_size=(2, 2)))

# لایه فلتن (Flatten) برای تبدیل داده‌های دوبعدی به یک‌بعدی
model.add(Flatten())

# لایه کاملاً متصل اول
model.add(Dense(128, activation='relu'))

# لایه خروجی (برای دسته‌بندی)
model.add(Dense(10, activation='softmax')) # فرض بر اینکه 10 کلاس داریم

۲.۳. کامپایل مدل
پس از ساخت مدل، باید آن را کامپایل کنیم. در این مرحله، الگوریتم بهینه‌سازی و معیار ارزیابی انتخاب می‌شود:

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

۳. آموزش مدل CNN 📈
حالا که مدل ساخته و کامپایل شد، می‌توانیم آن را با داده‌های خود آموزش دهیم. فرض کنید که داده‌های شما در دو متغیر X_train (ویژگی‌ها) و y_train (برچسب‌ها) ذخیره شده است:

model.fit(X_train, y_train, epochs=10, batch_size=32)

این دستور مدل را برای ۱۰ دوره آموزش می‌دهد و در هر دوره، داده‌ها را به صورت بچ‌های ۳۲تایی وارد شبکه می‌کند.

۴. ارزیابی مدل 📊
پس از آموزش مدل، می‌توانیم آن را با داده‌های آزمایشی ارزیابی کنیم تا دقت مدل را بسنجیم:

test_loss, test_acc = model.evaluate(X_test, y_test)
print(f"Test Accuracy: {test_acc}")

۵. استفاده از مدل برای پیش‌بینی 🧩
در نهایت، برای پیش‌بینی یک تصویر جدید از مدل استفاده می‌کنیم:

predictions = model.predict(new_image)

این دستور احتمال‌های پیش‌بینی شده برای کلاس‌های مختلف را برمی‌گرداند.

۶. نتیجه‌گیری
در این قسمت، با پیاده‌سازی یک مدل ساده CNN در پایتون آشنا شدیم. در قسمت‌های بعدی، می‌توانید به موارد پیشرفته‌تر مانند تنظیمات بهینه‌سازی و تکنیک‌های افزایش دقت مدل بپردازید.



برای دریافت آموزش‌های بیشتر در زمینه یادگیری عمیق و پیاده‌سازی مدل‌های پیشرفته‌تر CNN، به کانال تلگرام ما بپیوندید! 💬
🔗 [لینک کانال ]

#DeepLearning #CNN #Python #Keras
1