Tensorflow İle Birlikte Windows 10'da Kendi Modelimizi Eğitme
MUSTAFA COŞAR
27 Nisan 2020
2433 Görüntülenme
5 Beğeni
Paylaş
Bu yazımda sizlere tensorflow ile birlikte kendi obje modelinizi nasıl oluşturacağınızı göstereceğim.
Tensorflow İle Birlikte Windows 10'da Kendi Modelimizi Eğitme
Kaynak Link: https://github.com/maacofficial/tensorflow-train-object-detection-classiffier-tutorial#7-edit-label-map-and-configure-training-config
Video Link: https://www.youtube.com/watch?v=ZuG-k__yFrc
Eğer destek olmak için yeni bir çeviri eklemek isterseniz istek oluşturabilirsiniz.
Kendi modelinizi Windows 10/8 ve 7 de eğitebilirsiniz. Bu proje Tensorflow 1.5 sürümü kullanılarak hazırlanmıştır. Eğer siz farklı bir sürümle yapmak isterseniz uyumluluk sorunundan dolayı hatalarla karşılaşabilirsiniz.
Ayrıca bu projenin nasıl yapıldığına dair bir video da çektim.
Gerekli Açıklamalar
Siz TensorFlow (GPU) yerine TensorFlow (CPU) kullanabilirsiniz. Bunu yapmak için "pip install --ignore-installed --upgrade tensorflow==1.5.0" komutu yerine "pip install --ignore-installed --upgrade tensorflow-gpu==1.5.0" komutunu çalıştırmanız gerekir.Aynı zamanda ekran kartınız için CUDA ve cuDNN driverlarını kurmanız gerekir.
Eğer eğitmek için GPU kullanıyorsanız,Nvidia ekran kartına sahip olmanız gerekir. Ayrıca grafik kartınız minimum gereksinimleri karşılamalıdır. TensorFlow minimum 3.5 hesaplama kapasitesine(CC) ihtiya. duymaktadır. Bütün Ekran Kartları İçin Hesaplama Kapasitesi Listesi
Eğer ekran kartınız orta seviyeyse, bu işlem 3 saat kadar alıcaktır. Ve burada TensorFlow sürümleriyle uyumlu CUDA versionları bulunmaktadır.
Adımlar
1.Anaconda Yükleme İlk olarak,ücretsiz ve açık kaynaklı bir dağıtım olan Anaconda'yı bu linkten indirelim.
Adımları videodan takip edebilirsiniz.
2.TensorFlow Klasörünü Oluşturma Eğer farklı bir TensorFlow kütüphanesiyle çalışmak istemiyorsanız, direk olarak bu projeyi indirip çıkartabilirsiniz. Bu linkten. Ve bir sonraki adıma geçelim.
2.1. C:/ dizininda "tensorflow1" adında klasör oluşturalım. Bu klasör bizim model,training ve object_detection klasörlerimizi barındırıcak. Kısacası bu klasör içinde çalışacağız.
2.2. Aşağıdaki linklerden sizin tensorflow sürümünüze uygun olan model dosyalarını indiriniz.Biz bu projede TensorFlow 1.5 sürümünü kullanacağız.
2.3. "C:/" dizininin içinde oluşturduğumuz "tensorflow1" klasörünün içine indirdiğimiz model dosyalarını çıkartalım ve çıkardığımız bu klasörü "models" olarak yeniden adlandıralım.
2.4. "Faster-RCNN-Inception-V2-COCO" modelini TensorFlow'un model zoo kısmından indirelim: link.
2.5. "faster_rcnn_inception_v2_coco_2018_01_28.tar.gz" isimli dosyayı "C:\tensorflow1\models\research\object_detection\" klasörünün içerisine çıkaralım.
5. Fotoğraf Toplama ve Resimleri Etiketleme Resim çekmek için telefonunuzun kamerasını kullanabilirsiniz. Ama çektiğiniz fotoğrafların boyutunun 200KB ve çözünürlüklerinin ise 720x1280 değerlerinden düşük olmasına dikkat edin. Resimleri topladıktan sonra,resimlerin %20'sini "C:\tensorflow1\models\research\object_detection\images\test\" klasörüne ve %80'ini ise "C:\tensorflow1\models\research\object_detection\images\train\" klasörüne atın. Son olarak resimlerinizin çeşitli şekillerde çekildiğine dikkat edin.
Bu adımda ise resimleri etiketlemek için "LabelImg" aracını indireceğiz: Bu linkten.
6. Eğitim Verilerini Oluşturma İlk olarak resimlerin xml verilerini csv dosyasına çevireceğiz. Bunu yapmak için:
(tensorflow1) C:\tensorflow1\models\research\object_detection>python xml_to_csv.py Bundan sonra, generate_tfrecord.py dosyasını notepad ile düzenleyelim. Etiket haritasını kendi haritanızla değiştirin.
# TO-DO replace this with label map def class_text_to_int(row_label): if row_label == '200TL': return 1 elif row_label == '5TL': return 2 else: None TO:
# TO-DO replace this with label map def class_text_to_int(row_label): if row_label == 'cat': return 1 elif row_label == 'dog': return 2 elif row_label == 'bird': return 3 elif row_label == 'person': return 4 else: None Daha sonra,veri dosyalarını oluşturmak için "C:\tensorflow1\models\research\object_detection" klasörünün içerisinde aşağıdaki komutları çalıştırın:
e. Satır 132 - num_examples değerini "C:\tensorflow1\models\research\object_detection\images\test" klasörünün içindeki resim sayısıyla değiştirin: num_examples: 89
f. Son olarak dosyalarınızdaki değişiklikleri kaydedin ve çıkın.
8. train.py dosyasını çalıştırma Eğer TensorFlow'un daha yeni bir sürümünü kullanıyorsanız ,train.py dosyası C:\tensorflow1\models\research\object_detection\legacy" klasörünün içinde bulunur. Bu dosyayı object_detection klasörüne kopyalayabilirsiniz.
İşte en aksiyonlu an! train.pydosyasını çalıştıralım. Belirtilen komutu "C:\tensorflow1\models\research\object_detection" klasörünün içinde çalıştırın:
Eğitim başladığında aşağıdaki resimdeki gibi gözükür:
9. Modelimizi çıkartma Eğitim işlemi tamamlandığında,en son model dosyamızı oluşturmalıyız(.pb).Aşağıdaki komutta "XXXX" değerini "C:\tensorflow1\models\research\object_detection\training" klasöründeki en büyük sayı ile değiştirin. Daha sonra belirtilen komutu "C:\tensorflow1\models\research\object_detection" klasörünün içinde çalıştırın:
Oluşturulan model dosyası "C:\tensorflow1\models\research\object_detection\inference_graph" klasörünün içinde bulunmaktadır.
10. Kendi modelimizi kullanma Eğer WebCam ile nesneleri tanımak istiyorsanız "C:\tensorflow1\models\research\object_detection" klasörünün içinde yer alan "Object_detection_webcam.py" dosyasını çalıştırın."Object_detection_webcam.py" dosyasını çalıştırmadan önce ,"NUM_CLASSES = 2" bölümünü düzenleyin.Son olarak aşağıdaki komutu çalıştırın:
python Object_detection_webcam.py
Hayalleriniz gerçekleşinceye kadar hayal etmeye devam edin!!!