Giter VIP home page Giter VIP logo

nazli-d / binary-classification-using-cnn Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 2.3 MB

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.

Python 100.00%
binary-classification cat-and-dog-classifier cnn convolutional-neural-networks keras numpy opencv python tensorflow flatten max-pooling relu-activation sigmoid-function

binary-classification-using-cnn's Introduction

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
  • numpy

Kütüphaneleri yüklemek için aşağıdaki komutları kullanabilirsiniz:

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

Kedi fotoğraflarının testi

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.