🖥 مجموعه ای از پروژه ها برای ارتقای مهارت کدنویسی در #پایتون
پروژه های زیادی با درجات پیچیدگی مختلف در این پکیج جمع آوری شده است که در ادامه به برخی از آنها اشاره می کنیم:
— implementation of Conway's Game of Life
- creating your own website using Django
- maze generator
- URL shortener
— utility for to-do
🟡 Python projects
#پروژه #Python
🆔 @Python4all_pro
پروژه های زیادی با درجات پیچیدگی مختلف در این پکیج جمع آوری شده است که در ادامه به برخی از آنها اشاره می کنیم:
— implementation of Conway's Game of Life
- creating your own website using Django
- maze generator
- URL shortener
— utility for to-do
🟡 Python projects
#پروژه #Python
🆔 @Python4all_pro
30 Python Projects for Beginners to Get Started Coding (with Source Code)
https://morioh.com/a/778c1bdf55fa/30-python-projects-for-beginners-to-get-started-coding
#python #programming #pythonprogramming
#پروژه
🆔 @Python4all_pro
https://morioh.com/a/778c1bdf55fa/30-python-projects-for-beginners-to-get-started-coding
#python #programming #pythonprogramming
#پروژه
🆔 @Python4all_pro
Ex_Files_Python_Data_Analysis.zip
16.7 MB
Python Data Analysis.zip
388.2 MB
تجزیه و تحلیل داده ها با پایتون
با این آموزش یاد بگیرید که چگونه از پایتون، #NumPy و #pandas برای تجزیه و تحلیل مجموعه داده های بزرگ و کوچک استفاده کنید
#علم_داده #کتابخانه
✔️ کانال آموزش پایتون برای همه
🆔 @Python4all_pro
با این آموزش یاد بگیرید که چگونه از پایتون، #NumPy و #pandas برای تجزیه و تحلیل مجموعه داده های بزرگ و کوچک استفاده کنید
#علم_داده #کتابخانه
✔️ کانال آموزش پایتون برای همه
🆔 @Python4all_pro
Learn Python with Examples 2024.pdf
2 MB
Learn #Python with Examples
این کتاب و دوتا کتابی که لینکش رو در ادامه میفرستم مخصوص افرادیه که حوصله دیدن فیلم آموزشی و خوندن کتابهای پیچیده ی پایتون رو ندارند
📘https://t.me/Python4all_pro/131
📘https://t.me/Python4all_pro/115
#pdf
🆔 @Python4all_pro
این کتاب و دوتا کتابی که لینکش رو در ادامه میفرستم مخصوص افرادیه که حوصله دیدن فیلم آموزشی و خوندن کتابهای پیچیده ی پایتون رو ندارند
📘https://t.me/Python4all_pro/131
📘https://t.me/Python4all_pro/115
🆔 @Python4all_pro
آموزش سانسور کردن و بازگرداندن سانسور یک قسمت از عکس با پایتون
سانسور کردن (محو کردن) و بازگرداندن سانسور یک قسمت از عکس، یکی از تکنیکهای کاربردی در پردازش تصویر است که میتواند در بسیاری از پروژهها مفید باشد. در این آموزش، با استفاده از کتابخانهی محبوب OpenCV یاد میگیریم که چگونه این کار را انجام دهیم.
نصب کتابخانههای مورد نیاز
ابتدا باید کتابخانهی OpenCV را نصب کنید. اگر هنوز نصب نکردهاید، با اجرای دستور زیر در محیط ترمینال یا CMD میتوانید این کار را انجام دهید:
کد نمونه برای سانسور کردن یک قسمت از عکس
در این مثال، یک قسمت از عکس را محو (blur) میکنیم:
🔍 توضیحات:
- بارگذاری تصویر: تصویر مورد نظر را با
- تعیین ناحیه: ناحیهای که میخواهیم سانسور کنیم را با مختصات (x, y) و اندازه (عرض، ارتفاع) مشخص میکنیم.
- محو کردن ناحیه: از فیلتر Gaussian Blur برای محو کردن ناحیه استفاده میکنیم.
- ذخیره و نمایش تصویر: تصویر محو شده را ذخیره و نمایش میدهیم.
کد نمونه برای بازگرداندن ناحیه اصلی
در این مثال، ناحیه سانسور شده را با ناحیه اصلی جایگزین میکنیم:
🔍 توضیحات:
- بارگذاری تصاویر: تصویر اصلی و تصویر سانسور شده را بارگذاری میکنیم.
- بازگرداندن ناحیه اصلی: ناحیه محو شده را با ناحیه اصلی از تصویر اصلی جایگزین میکنیم.
- ذخیره و نمایش تصویر: تصویر بازگردانده شده را ذخیره و نمایش میدهیم.
#Python #OpenCV
#کتابخانه
✔️ کانال آموزش پایتون برای همه
🆔 @Python4all_pro
سانسور کردن (محو کردن) و بازگرداندن سانسور یک قسمت از عکس، یکی از تکنیکهای کاربردی در پردازش تصویر است که میتواند در بسیاری از پروژهها مفید باشد. در این آموزش، با استفاده از کتابخانهی محبوب OpenCV یاد میگیریم که چگونه این کار را انجام دهیم.
نصب کتابخانههای مورد نیاز
ابتدا باید کتابخانهی OpenCV را نصب کنید. اگر هنوز نصب نکردهاید، با اجرای دستور زیر در محیط ترمینال یا CMD میتوانید این کار را انجام دهید:
pip install opencv-python
کد نمونه برای سانسور کردن یک قسمت از عکس
در این مثال، یک قسمت از عکس را محو (blur) میکنیم:
import cv2
# بارگذاری تصویر
image = cv2.imread('input_image.jpg')
# تعیین ناحیهای که میخواهیم سانسور کنیم (x, y, عرض، ارتفاع)
x, y, w, h = 100, 100, 200, 200
roi = image[y:y+h, x:x+w]
# محو کردن ناحیه
blurred_roi = cv2.GaussianBlur(roi, (23, 23), 30)
# جایگزین کردن ناحیه محو شده در تصویر اصلی
image[y:y+h, x:x+w] = blurred_roi
# ذخیره تصویر خروجی
cv2.imwrite('censored_image.jpg', image)
# نمایش تصویر
cv2.imshow('Censored Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
🔍 توضیحات:
- بارگذاری تصویر: تصویر مورد نظر را با
cv2.imread
بارگذاری میکنیم.- تعیین ناحیه: ناحیهای که میخواهیم سانسور کنیم را با مختصات (x, y) و اندازه (عرض، ارتفاع) مشخص میکنیم.
- محو کردن ناحیه: از فیلتر Gaussian Blur برای محو کردن ناحیه استفاده میکنیم.
- ذخیره و نمایش تصویر: تصویر محو شده را ذخیره و نمایش میدهیم.
کد نمونه برای بازگرداندن ناحیه اصلی
در این مثال، ناحیه سانسور شده را با ناحیه اصلی جایگزین میکنیم:
import cv2
import numpy as np
# بارگذاری تصویر اصلی و تصویر سانسور شده
original_image = cv2.imread('input_image.jpg')
censored_image = cv2.imread('censored_image.jpg')
# تعیین ناحیهای که سانسور شده (x, y, عرض، ارتفاع)
x, y, w, h = 100, 100, 200, 200
# بازگرداندن ناحیه اصلی
censored_image[y:y+h, x:x+w] = original_image[y:y+h, x:x+w]
# ذخیره تصویر خروجی
cv2.imwrite('restored_image.jpg', censored_image)
# نمایش تصویر
cv2.imshow('Restored Image', censored_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
🔍 توضیحات:
- بارگذاری تصاویر: تصویر اصلی و تصویر سانسور شده را بارگذاری میکنیم.
- بازگرداندن ناحیه اصلی: ناحیه محو شده را با ناحیه اصلی از تصویر اصلی جایگزین میکنیم.
- ذخیره و نمایش تصویر: تصویر بازگردانده شده را ذخیره و نمایش میدهیم.
#Python #OpenCV
#کتابخانه
✔️ کانال آموزش پایتون برای همه
🆔 @Python4all_pro
gTTS (Google Text-to-Speech) - Python library and command line tool (CLI) for interacting with the Google Translate text-to-speech API.
You can use it to write spoken text to an MP3 file, an object-like file (bytestring) for further audio processing, or directly to standard output.
Peculiarities:
- A customizable tokenizer that allows you to voice text of any length while maintaining correct intonation, abbreviations, decimals and much more.
- Ability to configure text pre-processing to correct pronunciation
Installation:
Example usage on the command line:
Or in a Python module:
🖥 GitHub
🟡 Docks
#library
#python
🆔 @Python4all_pro
You can use it to write spoken text to an MP3 file, an object-like file (bytestring) for further audio processing, or directly to standard output.
Peculiarities:
- A customizable tokenizer that allows you to voice text of any length while maintaining correct intonation, abbreviations, decimals and much more.
- Ability to configure text pre-processing to correct pronunciation
Installation:
pip install gTTS
Example usage on the command line:
gtts-cli 'hello' --output hello.mp3
Or in a Python module:
from gtts import gTTS
tts = gTTS('hello')
tts.save('hello.mp3')
🖥 GitHub
🟡 Docks
#library
#python
🆔 @Python4all_pro
🖥 محاسبه مشتق و انتگرال ها در پایتون
اگر ناگهان با نیاز به محاسبه انتگرال/مشتقات در پایتون مواجه شدید ، میتوانید این کار را با استفاده از کتابخانه sympy انجام دهید.
—
🖥 GitHub
🆔 @Python4all_pro
اگر ناگهان با نیاز به محاسبه انتگرال/مشتقات در پایتون مواجه شدید ، میتوانید این کار را با استفاده از کتابخانه sympy انجام دهید.
—
pip install sympy
🖥 GitHub
🆔 @Python4all_pro
استفاده از پردازش چند هستهای CPU در پایتون
پایتون به کمک کتابخانههای مختلفی امکان بهرهبرداری از پردازندههای چند هستهای را فراهم میکند. این قابلیت به خصوص برای اجرای همزمان وظایف در برنامههای بزرگ و پیچیده بسیار مفید است. در این آموزش، از کوچکترین برنامهها تا بزرگترین و پیچیدهترین برنامهها، روشهایی برای استفاده از پردازش چند هستهای را معرفی میکنیم.
مثال ساده: پردازش همزمان وظایف ساده
برای شروع، یک برنامه ساده با استفاده از کتابخانهی
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان استفاده میشوند.
2. تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برای ۲ ثانیه متوقف میشایجاد و شروع فرآیندهاآیندها:
با استفاده از
با استفاده از
مثال پیشرفته: استفاده از
برای مدیریت بهتر تعداد زیادی از وظایف، میتوان از کلاس
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان اتعریف تابع worker*تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برااستفاده از Pool **استفاده از
با استفاده از
مثال پیشرفتهتر: استفاده از
کتابخانهی
کد:
توضیحات:
1. ایمپورت کتابخانهی
این کتابخانهها برای ایجاد و مدیریت فرتعریف تابع workerشوند.
2. تعریف تابع
این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپساستفاده از ProcessPoolExecutorاستفاده از
با استفاده از
استفاده از پردازش چند هستهای در پایتون میتواند به بهبود کارایی برنامهها کمک کند. با استفاده از کتابخانههایی مانند
✔️ کانال آموزش پایتون برای همه
🆔 @Python4all_pro
پایتون به کمک کتابخانههای مختلفی امکان بهرهبرداری از پردازندههای چند هستهای را فراهم میکند. این قابلیت به خصوص برای اجرای همزمان وظایف در برنامههای بزرگ و پیچیده بسیار مفید است. در این آموزش، از کوچکترین برنامهها تا بزرگترین و پیچیدهترین برنامهها، روشهایی برای استفاده از پردازش چند هستهای را معرفی میکنیم.
مثال ساده: پردازش همزمان وظایف ساده
برای شروع، یک برنامه ساده با استفاده از کتابخانهی
multiprocessing
ایجاد میکنیم که چندین وظیفه را همزمان اجرا کند.کد:
import multiprocessing
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
processes = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
processes.append(p)
p.start()
for p in processes:
p.join()
توضیحات:
1. ایمپورت کتابخانهی
multiprocessing
و time
:این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان استفاده میشوند.
2. تعریف تابع
worker
:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برای ۲ ثانیه متوقف میشایجاد و شروع فرآیندهاآیندها:
با استفاده از
multiprocessing.Process
، پنج فرآیند ایجاد میکنیم و آنها را با استفاده از start()
آغاز میکنمنتظر ماندن برای اتمام فرآیندهاآیندها**:با استفاده از
join()
، مطمئن میشویم که تمامی فرآیندها قبل از پایان یافتن برنامه اصلی به اتمام رسیدهاند.مثال پیشرفته: استفاده از
Pool
برای مدیریت وظایفبرای مدیریت بهتر تعداد زیادی از وظایف، میتوان از کلاس
Pool
استفاده کرد. این روش به شما امکان میدهد که تعداد ثابتی از فرآیندها را ایجاد کرده و وظایف را بیکد:ید.کد:
import multiprocessing
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
with multiprocessing.Pool(processes=4) as pool:
pool.map(worker, range(10))
توضیحات:
1. ایمپورت کتابخانهی
multiprocessing
و time
:این کتابخانهها برای ایجاد و مدیریت فرآیندها و توقف زمان اتعریف تابع worker*تعریف تابع
worker
**:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپس برااستفاده از Pool **استفاده از
Pool
**:با استفاده از
multiprocessing.Pool
، یک استخر از ۴ فرآیند ایجاد میکنیم و از متد map
برای اجرای تابع worker
برای هر عدد از ۰ تا ۹ استفاده میکنیم.مثال پیشرفتهتر: استفاده از
concurrent.futures
برای مدیریت وظایفکتابخانهی
concurrent.futures
یکی دیگر از ابزارهای پایتون برای مدیریت پردازشهای همزمان است. این کتابخانه برای سادهتر کردن استفاده کد: طراحی شده است.کد:
from concurrent.futures import ProcessPoolExecutor
import time
def worker(num):
"""یک وظیفه ساده که عدد ورودی را چاپ میکند و برای ۲ ثانیه متوقف میشود."""
print(f'Worker: {num}')
time.sleep(2)
if __name__ == '__main__':
with ProcessPoolExecutor(max_workers=4) as executor:
executor.map(worker, range(10))
توضیحات:
1. ایمپورت کتابخانهی
concurrent.futures
و time
:این کتابخانهها برای ایجاد و مدیریت فرتعریف تابع workerشوند.
2. تعریف تابع
worker
:این تابع یک عدد را به عنوان ورودی میگیرد و آن را چاپ میکند، سپساستفاده از ProcessPoolExecutorاستفاده از
ProcessPoolExecutor
**:با استفاده از
ProcessPoolExecutor
، یک استخر از ۴ فرآیند ایجاد میکنیم و از متد map
برای اجرای تابع worker
برای هر عدد از ۰ تا ۹ استفاده میکنیم.استفاده از پردازش چند هستهای در پایتون میتواند به بهبود کارایی برنامهها کمک کند. با استفاده از کتابخانههایی مانند
multiprocessing
و concurrent.futures
، میتوان وظایف مختلف را به طور همزمان اجرا کرد و از توان پردازشی سیستم به بهترین نحو استفاده کرد.✔️ کانال آموزش پایتون برای همه
🆔 @Python4all_pro
پایتون ( Machine Learning | Data Science )
دوره جامع تخصصی فرانت اند اینجاست 💪 از صفر تا متخصص یو آی یو ایکس و فرانت اند با شماییم ✴️ برای یک طراح سایت خوب در تمام دنیا جا هست. ◀️ اگر میخوای این مهارت رو به صورت حرفهای یاد بگیری این دوره مناسبته ‼️ اولین اولترا دوره طراحی و توسعه وبسایت با…
امروز بمناسبت روز جهانی وب دوره فرانت اند ۵۰٪ تخفیف دارد
https://zaya.io/z4nra
کل دوره های سایت تخفیف دارد
پیشنهاد میکنم لیست دوره ها را ببینید و از تخفیفات دوره های تخصصی استفاده کنید
👇👇👇
http://zaya.io/j1ig3
https://zaya.io/z4nra
کل دوره های سایت تخفیف دارد
پیشنهاد میکنم لیست دوره ها را ببینید و از تخفیفات دوره های تخصصی استفاده کنید
👇👇👇
http://zaya.io/j1ig3
Media is too big
VIEW IN TELEGRAM
modern GUIs in Python [ with tkinter ]
This tutorial covers everything you need to know about user interfaces in Python. We will go over all of tkinter, Python's default GUI framework, cover all the basics and then create a BMI app, a calculator and a photoshop style image editor.
If you enjoy this course, consider buying the tutorial that covers 7 additional apps: A responsive weather app, the ios stopwatch, a stock market tracker, a map viewer, a paint app, a snake game and qrcode generator
Code:
https://github.com/clear-code-projects/tkinter-complete
#پروژه
🆔 @Python4all_pro
This tutorial covers everything you need to know about user interfaces in Python. We will go over all of tkinter, Python's default GUI framework, cover all the basics and then create a BMI app, a calculator and a photoshop style image editor.
If you enjoy this course, consider buying the tutorial that covers 7 additional apps: A responsive weather app, the ios stopwatch, a stock market tracker, a map viewer, a paint app, a snake game and qrcode generator
Code:
https://github.com/clear-code-projects/tkinter-complete
#پروژه
🆔 @Python4all_pro
📚 آموزش ساخت و تلفیق سیستم AI در برنامه پایتون 📚
سلام دوستان! امروز میخوایم یک سیستم هوش مصنوعی (AI) رو با استفاده از PyTorch بسازیم و سپس اون رو در یک برنامه پایتون تلفیق کنیم. این آموزش برای کسانی که میخوان اصول پیادهسازی و استفاده از هوش مصنوعی در برنامههای کاربردی رو بفهمند بسیار مناسب هست.
1. تنظیمات اولیه 🛠️
نصب PyTorch
برای نصب PyTorch از دستور زیر استفاده کنید:
2. آمادهسازی دادهها 📋
در این آموزش از مجموعه دادههای MNIST استفاده میکنیم که شامل تصاویر دستنویس اعداد 0 تا 9 است.
3. تعریف مدل AI 📈
یک شبکه عصبی پیچیده برای تشخیص اعداد دستنویس تعریف میکنیم.
4. تعریف تابع هزینه و بهینهساز 📉
ما از تابع هزینه CrossEntropy و بهینهساز Adam استفاده میکنیم.
5. آموزش مدل AI 📊
شبکه عصبی رو برای چندین ایپاک (epoch) آموزش میدهیم.
6. ذخیره مدل آموزشدیده شده 💾
مدل آموزشدیده شده رو ذخیره میکنیم تا در برنامه کاربردی از آن استفاده کنیم.
7. بارگذاری مدل و استفاده از آن در برنامه کاربردی 📱
حالا یک برنامه پایتون جدید ایجاد میکنیم که شامل یک رابط کاربری ساده برای استفاده از مدل AI است. این برنامه با استفاده از کتابخانه
ساخت رابط کاربری با tkinter👇
🆔 @Python4all_pro
سلام دوستان! امروز میخوایم یک سیستم هوش مصنوعی (AI) رو با استفاده از PyTorch بسازیم و سپس اون رو در یک برنامه پایتون تلفیق کنیم. این آموزش برای کسانی که میخوان اصول پیادهسازی و استفاده از هوش مصنوعی در برنامههای کاربردی رو بفهمند بسیار مناسب هست.
1. تنظیمات اولیه 🛠️
نصب PyTorch
برای نصب PyTorch از دستور زیر استفاده کنید:
pip install torch torchvision
2. آمادهسازی دادهها 📋
در این آموزش از مجموعه دادههای MNIST استفاده میکنیم که شامل تصاویر دستنویس اعداد 0 تا 9 است.
import torch
import torchvision
import torchvision.transforms as transforms
# تعریف تبدیلها
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])
# دانلود و بارگذاری مجموعه دادههای آموزشی و تست
trainset = torchvision.datasets.MNIST(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=32, shuffle=True)
testset = torchvision.datasets.MNIST(root='./data', train=False, download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=32, shuffle=False)
3. تعریف مدل AI 📈
یک شبکه عصبی پیچیده برای تشخیص اعداد دستنویس تعریف میکنیم.
import torch.nn as nn
import torch.nn.functional as F
class ComplexNN(nn.Module):
def __init__(self):
super(ComplexNN, self).__init__()
self.conv1 = nn.Conv2d(1, 32, kernel_size=3, stride=1, padding=1)
self.conv2 = nn.Conv2d(32, 64, kernel_size=3, stride=1, padding=1)
self.pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)
self.fc1 = nn.Linear(64 * 7 * 7, 128)
self.fc2 = nn.Linear(128, 10)
def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 64 * 7 * 7)
x = F.relu(self.fc1(x))
x = self.fc2(x)
return x
net = ComplexNN()
4. تعریف تابع هزینه و بهینهساز 📉
ما از تابع هزینه CrossEntropy و بهینهساز Adam استفاده میکنیم.
import torch.optim as optim
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(net.parameters(), lr=0.001)
5. آموزش مدل AI 📊
شبکه عصبی رو برای چندین ایپاک (epoch) آموزش میدهیم.
for epoch in range(5): # تعداد ایپاکها
running_loss = 0.0
for i, data in enumerate(trainloader, 0):
inputs, labels = data
optimizer.zero_grad()
outputs = net(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()
if i % 100 == 99:
print(f'[Epoch {epoch + 1}, Batch {i + 1}] loss: {running_loss / 100:.3f}')
running_loss = 0.0
print('آموزش تمام شد')
6. ذخیره مدل آموزشدیده شده 💾
مدل آموزشدیده شده رو ذخیره میکنیم تا در برنامه کاربردی از آن استفاده کنیم.
torch.save(net.state_dict(), 'model.pth')
7. بارگذاری مدل و استفاده از آن در برنامه کاربردی 📱
حالا یک برنامه پایتون جدید ایجاد میکنیم که شامل یک رابط کاربری ساده برای استفاده از مدل AI است. این برنامه با استفاده از کتابخانه
tkinter
یک رابط کاربری گرافیکی (GUI) ایجاد میکند.ساخت رابط کاربری با tkinter👇
🆔 @Python4all_pro
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk, ImageOps
import torch
import torchvision.transforms as transforms
import numpy as np
# تعریف مدل و بارگذاری وزنهای آموزشدیده شده
class ComplexNN(nn.Module):
init__init__(self):
super(ComplexNNinit__init__()
self.conv1 = nn.Conv2d(1, 32, kernel_size=3, stride=1, padding=1)
self.conv2 = nn.Conv2d(32, 64, kernel_size=3, stride=1, padding=1)
self.pool = nn.MaxPool2d(kernel_size=2, stride=2, padding=0)
self.fc1 = nn.Linear(64 * 7 * 7, 128)
self.fc2 = nn.Linear(128, 10)
def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 64 * 7 * 7)
x = F.relu(self.fc1(x))
x = self.fc2(x)
return x
net = ComplexNN()
net.load_state_dict(torch.load('model.pth'))
net.eval()
# تعریف تبدیلها
transform = transforms.Compose([
transforms.Grayscale(num_output_channels=1),
transforms.Resize((28, 28)),
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))
])
# ساخت برنامه tkinter
class AIApp:
def init(self, root):
self.root = root
self.root.title("AI Number Recognizer")
self.label = tk.Label(root, text="Load an image to recognize the number")
self.label.pack()
self.button = tk.Button(root, text="Load Image", command=self.load_image)
self.button.pack()
self.canvas = tk.Canvas(root, width=200, height=200)
self.canvas.pack()
self.result_label = tk.Label(root, text="")
self.result_label.pack()
def load_image(self):
file_path = filedialog.askopenfilename()
if file_path:
image = Image.open(file_path)
self.show_image(image)
number = self.predict_number(image)
self.result_label.config(text=f"Predicted Number: {number}")
def show_image(self, image):
image = ImageOps.fit(image, (200, 200), Image.ANTIALIAS)
photo = ImageTk.PhotoImage(image)
self.canvas.create_image(0, 0, anchor=tk.NW, image=photo)
self.canvas.image = photo
def predict_number(self, image):
image = transform(image).unsqueeze(0)
output = net(image)
_, predicted = torch.max(output.data, 1)
return predicted.item()
root = tk.Tk()
app = AIApp(root)
root.mainloop()
8. توضیحات تکمیلی 📚
این برنامه یک شبکه عصبی پیچیده برای تشخیص اعداد دستنویس ساخته شده با PyTorch را در یک رابط کاربری ساده با استفاده از tkinter تلفیق میکند. کاربران میتوانند یک تصویر دستنویس از عددی را بارگذاری کرده و برنامه به طور خودکار عدد موجود در تصویر را تشخیص میدهد.
مزایا و کاربردهای استفاده از این سیستم AI ✅
1. بهبود دقت: استفاده از شبکه عصبی پیچیده دقت بالایی در تشخیص اعداد دستنویس دارد.
2. انعطافپذیری: میتوان مدل را برای تشخیص اشیاء و الگوهای دیگر آموزش داد.
3. سهولت استفاده: رابط کاربری ساده به کاربران امکان میدهد به راحتی از مدل استفاده کنند
#یادگیری_ماشین #شبکه_عصبی #هوش_مصنوعی #پایتون #PyTorch #AI #Code
🆔 @Python4all_pro
دانشگاه شریف سال گذشته دورهی «برنامهنویسی پایتون و خلاقیت الگوریتمی» را برای هزاران دانشآموز متوسطهی سراسر کشور برگزار کرد.
تمام محتوای این دوره شامل ویدئوی کلاسها، تمرینهای نظری و عملی «به صورت رایگان» به همهی دانشآموزان ایران تقدیم میشود:
http://www.learn-python.ir
#پایتون
🆔 @Python4all_pro
تمام محتوای این دوره شامل ویدئوی کلاسها، تمرینهای نظری و عملی «به صورت رایگان» به همهی دانشآموزان ایران تقدیم میشود:
http://www.learn-python.ir
#پایتون
🆔 @Python4all_pro