NumPy ve pandas temellerinden PyTorch, CNN, Vision Transformer ve gerçek zamanlı OpenCV/MediaPipe uygulamalarına uzanan uygulamalı bir öğrenme deposu.
Bu depo tek bir üretim uygulaması değildir. Ders sırasında geliştirilen notebook'ları, küçük veri bilimi alıştırmalarını, görüntü işleme örneklerini, kamera/video demolarını, bir FastAPI uygulamasını ve konu anlatım PDF'lerini aynı öğrenme yolculuğu altında toplar. Notebook çıktıları da öğrenme geçmişini göstermek amacıyla korunmuştur.
| Konum | İçerik |
|---|---|
DeepLearning_1/ |
NumPy, pandas, Matplotlib, Seaborn, veri analizi, quizler ve Python alıştırmaları |
DeepLearning_2/ |
PyTorch temelleri, eğitim döngüleri, sınıflandırma, CNN, TensorBoard ve Vision Transformer notebook'ları |
DeepLearning_2/iris_app/ |
Eğitilmiş iris modelini kullanan FastAPI tabanlı web uygulaması |
OpenCV/ |
Temel görüntü/video okuma, çizim, eşikleme, morfoloji, gradyan ve histogram örnekleri |
OpenCV_Projects/ |
El/yüz/poz takibi, park yeri sayacı, yol çizgisi ve uyku algılama demoları |
marvel_mask_project/ |
Webcam görüntüsüne MediaPipe ile maske yerleştiren demo |
scripts/prepare_datasets.py |
Git'e eklenmeyen görüntü veri setlerini indirip hazırlar |
data-manifests/dessert101.csv |
Food-101 içinden seçilecek 393 görseli ve train/test ayrımını sabitler |
| Kök dizindeki PDF'ler | Perceptron, CNN, NLP, attention ve transformer ders notları |
Önerilen inceleme sırası:
DeepLearning_1/ile NumPy, pandas ve görselleştirme temelleri.DeepLearning_2/01-...ile09-...arasında PyTorch ve sınıflandırma.DeepLearning_2/10-...ile15-...arasında bilgisayarlı görü, CNN ve ViT.OpenCV/ile temel görüntü işleme.OpenCV_Projects/,marvel_mask_project/veiris_app/ile küçük uygulamalar.
Gereksinimler:
- Python 3.12 önerilir; depo Python 3.12.2 ile hazırlanmıştır.
- Git ve notebook'lar için Jupyter veya VS Code Jupyter eklentisi.
- Kamera demoları için webcam.
- GPU zorunlu değildir. PyTorch örnekleri CPU üzerinde de çalışabilir.
Depoyu klonlayın:
git clone https://github.com/Ramazan-yildirim/deep-learning.git
cd deep-learningpy -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m ipykernel install --user --name deep-learning-journey --display-name 'Python (deep-learning-journey)'PowerShell aktivasyon politikasına takılırsanız yalnızca açık terminal oturumu için:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypasspython3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m ipykernel install --user --name deep-learning-journey --display-name 'Python (deep-learning-journey)'Kurulumu kontrol edin:
python -m pip check
python -c 'import torch, cv2, mediapipe, pandas; print(torch.__version__, torch.cuda.is_available())'requirements.txt, CPU üzerinde çalışan ortak kurulumu tanımlar. NVIDIA CUDA veya
AMD ROCm kullanacaksanız sisteminize uygun torch ve torchvision komutunu
PyTorch kurulum seçicisinden alın.
Jupyter'i depo kökünden başlatabilirsiniz:
jupyter labNotebook'ların çoğu göreli dosya yolu kullandığı için en güvenli yöntem ilgili klasörden başlatmaktır:
cd DeepLearning_1
jupyter labveya:
cd DeepLearning_2
jupyter labVS Code kullanıyorsanız kernel olarak .venv içindeki Python yorumlayıcısını veya
Python (deep-learning-journey) kernel'ını seçin. Kaydedilmiş çıktılar kullanılan
donanıma, paket sürümüne ve rastgeleliğe göre yeniden çalıştırıldığında değişebilir.
Uzun eğitim hücreleri kullanıcı tarafından durdurulmuş çıktı içerebilir; kesin sonuç
için ilgili notebook'ta Restart Kernel and Run All kullanın.
Büyük veri setleri GitHub'a gönderilmez. DeepLearning_2/data/ yalnızca .gitkeep
ile izlenir ve aşağıdaki komutla yeniden oluşturulur:
python scripts/prepare_datasets.py --dataset allTek bir veri seti hazırlamak için:
python scripts/prepare_datasets.py --dataset cifar10
python scripts/prepare_datasets.py --dataset caltech101
python scripts/prepare_datasets.py --dataset dessert101| Veri | Kullanıldığı yer | Yerel konum | Resmî kaynaklar |
|---|---|---|---|
| CIFAR-10 | 10-IntroToComputerVision.ipynb |
DeepLearning_2/data/cifar-10-batches-py/ |
CIFAR-10 ana sayfası, Torchvision CIFAR10 |
| Caltech-101 | 15-TransformersVit.ipynb |
DeepLearning_2/data/caltech101/ |
CaltechDATA kaydı, Torchvision Caltech101 |
| Food-101 / Dessert101 alt kümesi | 12-Desert101.ipynb |
DeepLearning_2/data/desert101/ |
ETH Zürich Food-101, Torchvision Food101 |
| Olimpiyat geçmişi | 11-VisualizationSeaborn.ipynb |
DeepLearning_1/athlete_events.csv |
Kaggle: 120 years of Olympic history |
scripts/prepare_datasets.py, Food-101 eğitim arşivini indirir ve
data-manifests/dessert101.csv içindeki aynı 393 görseli seçer. Alt küme baklava,
cannoli, cup_cakes ve donuts sınıflarından 316 eğitim ve 77 test görseli içerir.
Notebook'la uyumluluk için klasör adı bilinçli olarak desert101 biçiminde korunmuştur.
Food-101 indirme önbelleği yaklaşık 5 GB olabilir. Başka diskte tutmak için:
python scripts/prepare_datasets.py --dataset dessert101 --cache-dir D:/datasets/food101Alt küme oluşturulduktan sonra tam arşive ihtiyacınız yoksa .dataset-cache/
klasörünü silebilirsiniz. Betik ayrıca tek-görsel tahmin hücresinin beklediği
DeepLearning_2/data/baklava_online.jpg dosyasını alt kümeden üretir.
Kaggle hesabınız ve API anahtarınız hazırsa:
pip install kaggle
kaggle datasets download -d heesoo37/120-years-of-olympic-history-athletes-and-results -p DeepLearning_1 --unzipAlternatif olarak Kaggle sayfasından ZIP dosyasını indirip athlete_events.csv ve
noc_regions.csv dosyalarını DeepLearning_1/ altına çıkarın. Kaggle paketi yalnızca
bu isteğe bağlı indirme yöntemi için gereklidir ve ana requirements dosyasına eklenmemiştir.
Küçük ders CSV/XLSX dosyaları depoya dahildir; ayrıca indirilmeleri gerekmez.
Çevrimdışı çalışabilmek için aşağıdaki MediaPipe model dosyaları depoda tutulur. Bağlantılar Google'ın resmî model depolama alanına gider:
| Depodaki dosya | Kullanan örnek | Dokümantasyon | Doğrudan model bağlantısı |
|---|---|---|---|
OpenCV_Projects/hand_landmarker.task |
Hand_Tracking, finger_counting |
Hand Landmarker for Python | hand_landmarker.task |
OpenCV_Projects/face_landmarker.task |
face_mesh |
Face Landmarker for Python | face_landmarker.task |
OpenCV_Projects/blaze_face_short_range.tflite |
face_detection |
Face Detector for Python | blaze_face_short_range.tflite |
OpenCV_Projects/sleep_detection/face_landmarker.task |
Arşivlenmiş yerel kopya; mevcut script cvzone.FaceMeshModule kullanır |
Face Landmarker for Python | face_landmarker.task |
Diğer dış varlıklar:
DeepLearning_2/models/iris_classification_model.pth,09-MultiClassClassification.ipynbile eğitilmiş dört girişli iris sınıflandırıcısının ağırlıklarıdır; internetten indirilen bir model değildir.OpenCV/messi5.jpg, OpenCV'nin resmî örnek veri dizisindekimessi5.jpgile aynı adlı eğitim görselidir.OpenCV/sudoku.jpg, OpenCV'nin resmîsudoku.pngörneğinin JPEG olarak kaydedilmiş/küçültülmüş eğitim kopyasıdır.OpenCV/Lenna_(test_image).png, yaygın Lenna test görselidir. Tarihçe ve kaynak bilgisi için Wikimedia Commons dosya sayfasına bakın.OpenCV/altındaki diğer JPG/PNG dosyaları ders örnekleriyle birlikte depoda korunur. Özgün indirme adresleri dosyalardan güvenilir biçimde tespit edilemediği için yanlış kaynak bağlantısı verilmemiştir.marvel_mask_project/masks/altındaki karakter görselleri yalnızca eğitim demosu içindir. Marvel karakterleri ve ilgili görseller kendi hak sahiplerine aittir.- Iris web arayüzü çalışma anında Google Fonts ve Font Awesome 6.4.0 CDN kaynaklarını kullanır; çevrimdışı kullanımda ikonlar ve web fontları yüklenmeyebilir.
Video dosyaları depo boyutunu ve kaynak/lisans belirsizliğini artırmamak için
.gitignore ile dışlanmıştır. Klonlanan depoda bu videolar bulunmaz.
| Script | Varsayılan girdi | Yapılması gereken |
|---|---|---|
OpenCV/2_video_ice_aktarma.py |
MOT17-04-DPM.mp4 |
Kendi videonuzu bu adla koyun veya yolu değiştirin. Örneğin adı MOT17 veri ailesine dayanır. |
OpenCV/3_Kamera-acma-ve-video-kaydi.py |
Webcam 0 |
Kamera görüntüsünü video_kaydi.avi olarak üretir; çıktı Git'e eklenmez. |
OpenCV_Projects/face_detection/face_detection.py |
video1.mp4 |
Script klasörüne kendi videonuzu koyun veya video_path değerini değiştirin. |
OpenCV_Projects/face_mesh/face_mesh.py |
video1.mp4 |
Script klasörüne kendi videonuzu koyun veya video_path değerini değiştirin. |
OpenCV_Projects/parking_space_counter/parking_space_counter.py |
video.mp4 |
Park alanı videosunu script klasörüne koyun. first_frame.png ve CarParkPos depodadır. |
OpenCV_Projects/personal_trainer/personal_trainer.py |
video2.mp4 |
Egzersiz videosunu script klasörüne koyun. |
OpenCV_Projects/pose_estimation/pose_estimation.py |
video5.mp4 |
Poz videosunu script klasörüne koyun; isterseniz kodda webcam 0 satırını etkinleştirin. |
OpenCV_Projects/road_line_detection/road_line_detection.py |
video2.mp4 |
Yol videosunu script klasörüne koyun. |
OpenCV_Projects/sleep_detection/sleep_detection.py |
video2.mp4 |
Yüzün göründüğü bir videoyu script klasörüne koyun. |
Hand_Tracking, finger_counting ve marvel_mask_project doğrudan webcam 0
kullanır. Kamera açılamazsa işletim sistemi izinlerini ve başka bir uygulamanın
kamerayı kullanıp kullanmadığını kontrol edin.
Çoğu OpenCV örneği göreli dosya yolu kullandığı için komutu scriptin klasöründen çalıştırın.
Marvel maskesi:
cd marvel_mask_project
python main.pyYüz algılama:
cd OpenCV_Projects/face_detection
python face_detection.pyIris FastAPI uygulaması:
cd DeepLearning_2/iris_app
uvicorn main:app --reloadArdından http://127.0.0.1:8000 adresini açın. Uygulama dört iris ölçüsünü alır,
DeepLearning_2/models/iris_classification_model.pth ağırlıklarını CPU üzerinde
yükler ve sınıf olasılıklarını döndürür.
13-TensorboardExample.ipynb çalıştırıldığında oluşan DeepLearning_2/runs/
dosyaları Git'e eklenmez. Sonuçları görüntülemek için:
tensorboard --logdir DeepLearning_2/runsYeni klonda önce notebook'u çalıştırarak bu kayıtları yeniden üretmeniz gerekir.
Bu içerikler klonlanan depoda bulunmaz ve gerektiğinde yeniden üretilir veya kullanıcı tarafından sağlanır:
.venv/ve Python önbellekleri,DeepLearning_2/data/altındaki indirilen veri setleri,.dataset-cache/içindeki Food-101 indirme önbelleği,DeepLearning_1/athlete_events.csvvenoc_regions.csv,- TensorBoard koşuları, loglar, checkpoint'ler ve deney çıktıları,
*.mp4,*.avi,*.movve*.mkvvideoları,- geçici arşivler ve yerel
.envdosyaları.
- Bu bir öğrenme arşividir; tüm notebook'ları baştan sona çalıştıran otomatik test/CI akışı yoktur.
- Kamera ve video demoları masaüstü ortamı ister; başsız sunucuda pencere açamaz.
- Bazı notebook'lar veri indirir veya uzun süren eğitim yapar.
- Paketler uyumlu sürüm aralıklarıyla tanımlanmıştır, tam kilit dosyası yoktur.
- Video örnekleri klondan hemen sonra çalışmaz; yukarıdaki tabloda belirtilen girdiyi sağlamanız gerekir.
Veri setleri, MediaPipe modelleri, web fontları ve üçüncü taraf görseller kendi lisans ve kullanım koşullarına tabidir. Yukarıdaki bağlantılar özgün kaynağı bulmayı ve ilgili koşulları kontrol etmeyi kolaylaştırmak için verilmiştir.
Kökteki ders PDF'lerinin özgün yayın/indirme adresleri dosya metadata'sından güvenilir biçimde tespit edilememiştir. Depoyu herkese açık kullanmadan önce PDF'leri ve kaynağı belirsiz eğitim görsellerini dağıtma hakkına sahip olduğunuzdan emin olun.
Bu depoya henüz proje geneli bir açık kaynak lisansı eklenmemiştir. Bu nedenle kodun
yeniden kullanımı için otomatik olarak izin verildiği varsayılmamalıdır. Yeniden kullanıma
izin vermek istiyorsanız uygun bir LICENSE dosyası ekleyin.