Eğitim İçeriği
Giriş
- TensorFlow ve derin öğrenmeye giriş
- TensorFlow kullanım senaryoları ve uygulamaları
- TensorFlow ekosistemi ve araçları
- Makine öğrenmesi ve derin öğrenme iş akışları
- Ders amaçları ve uygulamalı egzersizlerin genel bakışı
TensorFlow 2.x ve Önceki Sürümler - Yeni Neler Var?
- TensorFlow 1.x ile 2.x arasındaki temel farklılıklar
- Acil yürütme (Eager execution)
- Basitleştirilmiş API'ler ve iyileştirilmiş kullanılabilirlik
- Model oluşturma ve eğitimdeki değişiklikler
- Yüksek seviye API olarak Keras'a giriş
- Mevcut TensorFlow uygulamaları için geçiş hususları
- TensorFlow 2.x en iyi uygulamaları
TensorFlow 2.x Kurulumu
- TensorFlow'u kurma
- Python ortamını yapılandırma
- TensorFlow kurulumunu doğrulama
- Gerekli bağımlılıkları kurma ve yönetme
- CPU ve GPU ortamlarını yapılandırma
- Jupyter defterlerinde TensorFlow kullanma
- Temel TensorFlow komutları ve işlemleri
- Kurulum ve yapılandırma sorunlarını giderme
TensorFlow 2.x Özellikleri ve Mimarisinin Genel Bakışı
- TensorFlow mimarisi ve çekirdek bileşenler
- Tensörler ve tensör işlemleri
- Değişkenler ve sabitler
- Hesap grafikleri ve acil yürütme
- Otomatik türevleme
- TensorFlow API'leri ve modülleri
- Keras entegrasyonu
tf.dataile veri boru hatları- Model serileştirme ve TensorFlow SavedModel
- TensorFlow ekosistemi ve geliştirme iş akışı
Sinir Ağları Nasıl Çalışır?
- Sun'i sinir ağlarının temelleri
- Nöronlar, katmanlar ve ağ mimarileri
- Aktivasyon fonksiyonları
- İleri yayılım
- Kayıp fonksiyonları
- Geri yayılım
- Gradient inişi ve optimizasyon
- Öğrenme oranları ve optimizasyon stratejileri
- Aşırı sığma (overfitting) ve yetersiz sığma (underfitting)
- Düzenleme teknikleri
- Eğitim, doğrulama ve test veri kümeleri
Derin Öğrenme Modelleri Oluşturmak İçin TensorFlow 2.x Kullanımı
- Tensör ve değişken oluşturma
- Keras ile sinir ağı inşası
- Sıralı (Sequential) ve fonksiyonel model API'leri
- Özel modeller ve katmanlar tanımlama
- Optimizatörleri yapılandırma
- Uygun kayıp fonksiyonlarını seçme
fit()ile modelleri eğitme- Özel eğitim döngüleri
- Geri bildirimler (callbacks) ve eğitim izleme
- Model kontrol noktalarını (checkpoints) yönetme
Veri Analizi
- Makine öğrenmesi için veri kümelerini anlama
- Yapılandırılmış ve yapılandırılmamış verileri keşfetme
- Veri görselleştirme
- Desenleri ve anomalileri belirleme
- Eksik ve tutarsız verilerle başa çıkma
- Verileri eğitim, doğrulama ve test setlerine ayırma
- İlgili özellikleri (features) seçme
- TensorFlow modelleri için veri kümelerini hazırlama
Veri Ön İşleme
- Veri normalizasyonu ve standartlaştırma
- Kategorik verileri kodlama
- Eksik değerlerle başa çıkma
- Özellik ölçekleme
- Görüntü ön işleme
- Metin ön işleme
- Veri artırma (data augmentation)
- Verimli girdi boru hatları oluşturma
tf.datakullanma- Toplama (batching), karıştırma (shuffling), önbelleğe alma (caching) ve ön yükleme (prefetching)
- Verileri model eğitimi için hazırlama
Bir Model İnşa Etmek
- Uygun bir sinir ağı mimarisi seçme
- Model girdileri ve çıktıları tanımlama
- Sık (dense) sinir ağları oluşturma
- Aktivasyon fonksiyonlarını seçme
- Modeli eğitim için yapılandırma
- Optimizatörleri ve kayıp fonksiyonlarını seçme
- Modeli eğitme ve doğrulama
- Eğitim metriklerini izleme
- Model performansını iyileştirme
- Aşırı sığmayı önleme
- Düzenleme ve dropout uygulama
State-of-the-Art Bir Görüntü Sınıflandırıcısı Uygulamak
- Görüntü sınıflandırmasının temelleri
- Görüntü veri kümelerini hazırlama
- Görüntü normalizasyonu ve artırma
- Convolutional (sarmal) sinir ağları
- Sarmal (convolution) ve havuzlama (pooling) katmanları
- Bir görüntü sınıflandırma mimarisi tasarlamak
- Aktarım öğrenme (Transfer learning)
- Önceden eğitilmiş modelleri kullanma
- Önceden eğitilmiş ağları ince ayar yapmak (fine-tuning)
- Gelişmiş bir görüntü sınıflandırıcısı oluşturma
- Sınıflandırma performansını değerlendirme
Modeli Eğitmek
- Eğitim parametrelerini yapılandırma
- Toplam boyutu (batch size) ve epoch sayısı
- Optimizatör seçimi
- Öğrenme oranı zamanlaması (scheduling)
- Eğitim geri bildirimleri
- Erken durdurma (Early stopping)
- Model kontrol noktalarını oluşturma
- Eğitim ilerlemesini izleme
- Aşırı sığmayı tespit etme
- Eğitim performansını iyileştirme
- Dağıtık eğitim hususları
GPU'da mı Yoksa TPU'da mı Eğitmek
- CPU, GPU ve TPU mimarileri
- Donanım hızlandırmasının avantajları
- TensorFlow'u GPU eğitimi için yapılandırma
- TPU tabanlı eğitimi anlama
- Farklı iş yükleri için donanım seçimi
- Hesaplamaları cihazlar arasında taşıma
- Bellek ve hesaplama kaynaklarını yönetme
- Eğitim performansını karşılaştırma
- Dağıtık ve hızlandırılmış eğitim stratejileri
Modeli Değerlendirmek
- Uygun değerlendirme metriklerini seçme
- Doğruluk, hassasiyet (precision), geri çağırma (recall) ve F1 skoru
- Regresyon değerlendirme metrikleri
- Kaşış matrisleri (Confusion matrices)
- Doğrulama stratejileri
- Sınıflandırma modellerini değerlendirme
- Model genelleştirme yeteneğini değerlendirme
- Model zayıflıklarını belirleme
- Farklı model yapılandırmalarını karşılaştırma
Tahminlerde Bulunmak
- Çıkarım (inference) için eğitilmiş modelleri kullanma
- Yeni girdi verilerini hazırlama
- Toplu ve bireysel tahminler yapma
- Model çıktılarını yorumlama
- Sınıflandırma olasılıkları
- Regresyon tahminleri
- Bir çıkarım iş akışı oluşturma
- Yeni görülen verilerle başa çıkma
- Tahmin boru hatlarını yönetme
Tahminleri Değerlendirmek
- Tahmin kalitesini analiz etme
- Tahminleri beklenen sonuçlarla karşılaştırma
- Yanlış pozitif ve yanlış negatifleri belirleme
- Hata analizi
- Model güvenini değerlendirme
- Tahmin sonuçlarını görselleştirme
- Veri ve tahmin önyargılarını tespit etme
- Tahmin analizine dayalı model performansını iyileştirme
Modeli Hata Ayıklama (Debugging)
- Yaygın eğitim sorunlarını belirleme
- Yanlış tahminleri teşhis etme
- Veri boru hatlarını hata ayıklama
- Kayıp ve metrik davranışını inceleme
- Patlayan ve kaybolan gradyanları tespit etme
- Aşırı sığma ve yetersiz sığmayı teşhis etme
- Model katmanlarını ve çıktıları inceleme
- TensorFlow hata ayıklama ve profil oluşturma araçlarını kullanma
- Model kararlılığını ve performansını iyileştirme
Modeli Kaydetmek
- Eğitilmiş modelleri kaydetme
- TensorFlow SavedModel formatı
- Model ağırlıklarını kaydetme ve geri yükleme
- Model mimarisini ve yapılandırmasını kaydetme
- Çıkarım için modelleri yükleme
- Model sürümleme
- D dağıtım için modelleri dışa aktarma
- Model artefaktlarını yönetme
- Modelleri üretim ortamları için hazırlama
Modeli Buluta Dağıtmak
- Bulut tabanlı model dağıtımına giriş
- TensorFlow modellerini üretim için hazırlama
- API'ler aracılığıyla model sunma
- Model sunum (serving) kavramları
- TensorFlow uygulamalarını konteynerleştirmme
- Bulut tabanlı çıkarım
- Model sunma iş yüklerini ölçeklendirme
- Dağıtılmış modelleri izleme
- Model sürümlerini yönetme
- Üretim dağıtımına ilişkin hususlar
Modeli Mobil Bir Cihaza Dağıtmak
- Mobil makine öğrenmesinin zorlukları
- TensorFlow Lite
- Mobil dağıtım için TensorFlow modellerini dönüştürme
- Model optimizasyonu ve boyut küçültme
- Kantizasyon (Quantization)
- Mobil cihazlarda çıkarım yapma
- Mobil cihaz kaynaklarını yönetme
- Modelleri mobil uygulamalara entegre etme
- Mobil çıkarım performansını test etme
Modeli Yerleşik Bir Sisteme (IoT) Dağıtmak
- Yerleşik cihazlarda makine öğrenmesi
- Yerleşik uygulamalar için TensorFlow Lite
- Kaynak kısıtları ve optimizasyon
- Model boyutunu ve hesaplama gereksinimlerini azaltma
- Kenar (Edge) çıkarımı
- Sensör ve gerçek zamanlı veri işleme
- Tahminleri yerel olarak yapma
- Güç ve bellek hususları
- TensorFlow modellerini IoT iş akışlarına entegre etme
- Kenar dağıtımlarını test etme ve izleme
Modeli Farklı Dillerle Entegre Etmek
- TensorFlow modeli etkileşimi (interoperability)
- API'ler aracılığıyla model sunma
- Farklı programlama ortamlarından TensorFlow modellerini kullanma
- Python tabanlı model entegrasyonu
- Modelleri web uygulamalarına entegre etme
- REST tabanlı hizmetler aracılığıyla model çıkarımı
- TensorFlow'u mevcut uygulamalara entegre etme
- Veri alışverişi ve serileştirme
- Üretim entegrasyonu hususları
Sorun Giderme
- TensorFlow kurulum sorunlarını teşhis etme
- Model oluşturma hatalarını giderme
- Veri ön işleme sorunlarını hata ayıklama
- Eğitim başarısızlıklarını çözme
- GPU ve TPU yapılandırma sorunlarını inceleme
- Bellek ve performans sorunlarını teşhis etme
- Model yükleme ve kaydetme sorunlarını giderme
- Dağıtım sorunlarını hata ayıklama
- Uygulamalı sorun giderme egzersizleri
Özet ve Sonuç
- TensorFlow 2.x kavramlarının gözden geçirilmesi
- Sinir ağı ve derin öğrenme iş akışlarının gözden geçirilmesi
- Veri hazırlığı ve model geliştirme süreçlerinin gözden geçirilmesi
- Görüntü sınıflandırmasının gözden geçirilmesi
- Eğitim ve değerlendirme tekniklerinin gözden geçirilmesi
- Model hata ayıklama ve optimizasyonunun gözden geçirilmesi
- Bulut, mobil ve IoT dağıtımının gözden geçirilmesi
- TensorFlow geliştirme için en iyi uygulamalar
- Son uygulamalı egzersiz
- Soru ve cevap / Tartışma
Kurs İçin Gerekli Önbilgiler
- Python'da programlama deneyimi.
- Linux komut satırı deneyimi.
Hedef Kitle
- Yazılım Geliştiriciler
- Veri Bilimciler
Danışanlarımızın Yorumları (4)
Eğitim organize edilmiş ve iyi planlanmış oldu ve bu eğitimden sistematik bilgi edinmiş ve incelediğimiz konulara iyi bir bakışla ayrıldım.
Magdalena - Samsung Electronics Polska Sp. z o.o.
Eğitim - Deep Learning with TensorFlow 2
Yapay Zeka Çevirisi
Eğitmenin bilgisi ve çok yakınsayıcı olması. Önemli bilgileri kolayca aktarabiliyorlardı.
Mateusz Stachyra - Samsung Electronics Polska Sp. z o.o.
Eğitim - Deep Learning with TensorFlow 2
Yapay Zeka Çevirisi
Temel konuları da ele aldığımızdan dolayı memnun oldum
Tomasz - Samsung Electronics Polska Sp. z o.o.
Eğitim - Deep Learning with TensorFlow 2
Yapay Zeka Çevirisi
Eğitmen içerikleri iyi anlatmış ve her zaman etkileşimli olmuştur. Bize sorular sormak için durdu ve bazı pratik oturumlarda kendi çözümlerimize varmamızı sağladı. Ayrıca, kursu ihtiyaçlarımıza göre de çok iyi uyarlamıştır.
Robert Baker
Eğitim - Deep Learning with TensorFlow 2.0
Yapay Zeka Çevirisi