Bu proje, CIFAR-10 veri kümesi üzerinde bir CNN modelinin eğitimini ve sonrasında bu modelin kullanımını içerir.
-
Gereksinimler
- Python 3.x
- Keras
- TensorFlow
- NumPy
- Matplotlib
- Jupyter Notebook (isteğe bağlı, eğitim ve tahminlerinizi görselleştirmek için kullanılabilir)
-
Kurulum
Gereksinimleri yüklemek için aşağıdaki komutları kullanın:
pip install numpy matplotlib tensorflow keras jupyter
-
Veri Kümesi
CIFAR-10 veri kümesi, derin öğrenme modeli eğitimi ve testi için kullanılacaktır. Veri kümesi otomatik olarak yüklenir.
-
Eğitim
Modeli eğitmek için
CNN_model_egitim.ipynb
Jupyter Notebook dosyasını kullanın.jupyter notebook CNN_model_egitim.ipynb
Notebook içindeki talimatları takip ederek modeli eğitebilirsiniz.
Aşağıda, FastAPI kullanarak bir görüntü sınıflandırma uygulaması için bir "readme" şablonu bulunmaktadır:
Bu proje, FastAPI kullanarak bir görüntü sınıflandırma servisi sunar. Kullanıcılar, uygulamaya bir görüntü yükleyerek, bu görüntünün hangi sınıfa ait olduğunu tahmin edebilirler.
-
Gereksinimler
- Python 3.x
- FastAPI
- Uvicorn
- Python-Multipart
- TensorFlow
- OpenCV
- NumPy
Gereksinimleri yüklemek için aşağıdaki komutları kullanın:
pip install fastapi uvicorn python-multipart tensorflow opencv-python-headless numpy
-
Model ve Servis Hazırlığı
- Görüntü sınıflandırma modeli ve ağırlıkları (
CNN_three_layer_fully_connected.json
veCNN_three_fully_connected.h5
) bulunmalıdır. Bu dosyaların, bu proje dizininde olduğundan emin olun. - Servis, görüntüyü işlemek ve tahminler yapmak için OpenCV ve NumPy kütüphanelerini kullanır. Gerekirse bu kütüphaneleri yükleyin.
- Görüntü sınıflandırma modeli ve ağırlıkları (
-
Uygulamayı Başlatma
Uygulamayı başlatmak için aşağıdaki komutu kullanın:
uvicorn app:app --reload
Bu komut,
app.py
dosyasındaki FastAPI uygulamasını başlatır ve değişiklikler otomatik olarak algılanarak yeniden yüklenir. -
Kullanım
- Uygulama başlatıldıktan sonra, bir web tarayıcısında
http://localhost:8000
adresine gidin. - Sayfada, bir görüntü dosyası seçin ve "Yükle" düğmesine basın.
- Servis, yüklenen görüntüyü alacak ve sınıflandıracak ve sonucu ekranda gösterecektir.
- Uygulama başlatıldıktan sonra, bir web tarayıcısında
- Bu uygulama, önceden eğitilmiş bir görüntü sınıflandırma modelini kullanır. Modeli eğitmek ve yeni verilere göre güncellemek istiyorsanız, ayrıntılı talimatlar için model belgelerine bakın.
- FastAPI hizmetine bir görüntü yüklemek için basit bir HTML formu bulunmaktadır. Bu form, kullanıcıların bir görüntü seçmelerine ve sunucuya yüklemelerine olanak tanır. Yüklenen görüntü, FastAPI hizmeti tarafından tahmin edilir ve sonuç JSON olarak sunulur. Ayrıca, CIFAR-10 veri seti ve CNN modeli hakkında bilgilendirici bir bölüm de içerir.
1.github.com/ABI-Virtual-Brain-Project/CNN-TaskLisansa tabi (Apache - 2.0) 2.github.com/liyongqingupc/ACLN-WindFieldCorrection 3.github.com/AlexTorres10/TCC 4.github.com/Mehwish4593/Mehwish4593 5.stackoverflow.com/questions/54207049/keras-cnn-validation-accuracy-stuck-at-70-training-accuracy-reaching-100 6.github.com/Chetank190/DogCatsClassifier_BigDataProject 7.github.com/Catalina-13/City-Congestion-Simulator 8.github.com/raja21068/Android_Malware_DetectionLisansa tabi (Apache - 2.0) 9.https://baraaalbourghli.medium.com/deploy-your-keras-or-tensorflow-machine-learning-model-to-aws-using-amazon-sagemaker-how-to-2d88a6e779cc