Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nazli-d/binary-classification-using-cnn
This project utilizes a CNN model to classify cat and dog images through training and testing processes. The model is created using the Keras library on the TensorFlow backend.
https://github.com/nazli-d/binary-classification-using-cnn
binary-classification cat-and-dog-classifier cnn convolutional-neural-networks flatten keras max-pooling numpy opencv python relu-activation sigmoid-function tensorflow
Last synced: 15 days ago
JSON representation
This project utilizes a CNN model to classify cat and dog images through training and testing processes. The model is created using the Keras library on the TensorFlow backend.
- Host: GitHub
- URL: https://github.com/nazli-d/binary-classification-using-cnn
- Owner: nazli-d
- Created: 2023-09-06T14:02:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-08T19:42:24.000Z (over 1 year ago)
- Last Synced: 2024-11-08T20:49:15.980Z (2 months ago)
- Topics: binary-classification, cat-and-dog-classifier, cnn, convolutional-neural-networks, flatten, keras, max-pooling, numpy, opencv, python, relu-activation, sigmoid-function, tensorflow
- Language: Python
- Homepage:
- Size: 2.25 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Binary Classification (Cat and Dog) Using Convolution Neural Network
Bu proje, kedi ve köpek resimlerini sınıflandırmak için kullanılan bir CNN (Convolutional Neural Network) modeli oluşturur. Eğitim veri seti olarak 20'şer adet kedi ve köpek resmi kullanılmıştır. Eğitim tamamlandıktan sonra, 15'er adet kedi ve köpek fotoğrafı kullanılarak test işlemi gerçekleştirilmiştir. Projede kullanılan model, keras kütüphanesi üzerinde TensorFlow backend'i kullanılarak oluşturulmuştur.
## Gereksinimler
Proje için aşağıdaki kütüphanelere ihtiyaç vardır:
- tensorflow
- keras
- numpyKütüphaneleri yüklemek için aşağıdaki komutları kullanabilirsiniz:
``` bash
pip install tensorflow
pip install keras
pip install numpy
```## Veri Seti
Proje için kullanılan veri seti, kedi ve köpek resimlerinin bulunduğu bir dizinden yüklenmektedir. Eğitim ve test veri setleri ayrı ayrı belirlenmiştir. Eğitim veri seti için kullanılan resimler, `cnn` dizini altında bulunmalıdır. Test veri seti için kullanılan resimler ise `test_img` dizini altında bulunmalıdır.
## Modelin Oluşturulması
Proje, `tf.keras.models.Sequential` sınıfı kullanılarak bir CNN modeli oluşturur. Model, aşağıdaki katmanları içermektedir:
- Convolutional katmanı: 32 adet 3x3 filtre ve ReLU aktivasyon fonksiyonu
- Max pooling katmanı: 2x2 boyutunda bir pooling işlemi
- İkinci convolutional katmanı: 32 adet 3x3 filtre ve ReLU aktivasyon fonksiyonu
- İkinci max pooling katmanı: 2x2 boyutunda bir pooling işlemi
- Flatten katmanı: Verileri düzleştiren bir işlem
- Tam bağlantılı (dense) katman: 128 nöron ve ReLU aktivasyon fonksiyonu
- Çıkış katmanı: Sigmoid aktivasyon fonksiyonu ile bir değer (0 veya 1 değeri) döndürür## Test İşlemi
Test işlemi için `test_img` dizini altında bulunan resimler kullanılır. Bu resimler, `ImageDataGenerator` sınıfı kullanılarak önceden işlenir. Ardından, model üzerinde `predict` işlemi gerçekleştirilir ve sonuç tahmin edilir. Tahmin sonucuna göre, resimdeki hayvanın kedi mi yoksa köpek mi olduğu belirlenir.
## Kullanım
Proje dosyalarını indirdikten sonra, aşağıdaki adımları takip ederek projeyi kullanabilirsiniz:
1. Eğitim ve test veri setlerini uygun dizinlere yerleştirin.
2. Gerekli kütüphaneleri yükleyin.
3. Modelin oluşturulması ve eğitimi için `binary-classification.py` dosyasını çalıştırın.
4. Test işlemi için `CNN` dosyasında bulunan `test_image` dosyasına test etmek istediğiniz resimleri yükleyin.## Test Görüntüleri
### Köpek fotoğraflarının testi
![](https://github.com/nazli-d/Binary-Classification-Using-CNN/blob/main/outputs/test-1.jpg)
![](https://github.com/nazli-d/Binary-Classification-Using-CNN/blob/main/outputs/test-3.jpg)
![](https://github.com/nazli-d/Binary-Classification-Using-CNN/blob/main/outputs/test-4.jpg)### Kedi fotoğraflarının testi
![](https://github.com/nazli-d/Binary-Classification-Using-CNN/blob/main/outputs/test-2.jpg)
![](https://github.com/nazli-d/Binary-Classification-Using-CNN/blob/main/outputs/test-5.jpg)
![](https://github.com/nazli-d/Binary-Classification-Using-CNN/blob/main/outputs/test-6.jpg)## Katkıda Bulunma
Bu proje her türlü katkıya açıktır. Katkıda bulunmak için şu adımları takip edebilirsiniz:1. "Star" butonuna tıklayarak projeye star verebilirsiniz.
2. Bu depoyu (`repository`) çatallayın (fork).
3. Yaptığınız değişiklikleri içeren yeni bir dal (branch) oluşturun.
4. Değişikliklerinizi bu yeni dalda yapın ve düzenleyin.
5. Değişikliklerinizi başka bir dalda test edin.
6. Değişikliklerinizi orijinal depoya (upstream repository) geri göndermek için bir birleştirme isteği (pull request) açın.