Comment on page
📃
Tensorflow Kayıtları Oluşturma
- Resim verileri toplanır veya çekilir.
- Toplanan resimler
labelimg
yardımıyla etiketlenir ve.xml
uzantılı dosyaları oluşturulur. images
dizinine resimler ve onlara ait xml dosyaları %80'i train %20'i eval olacak şekilde klasörlere ayrılarak yerleştirilir.scripts/preprocessing
dizindekixml_path_regulator.py
scripti aracılığıyla xml ve resimlerde yol sorunları düzeltilir, veriler yeniden adlandırılır.scripts/preprocessing
dizindekixml_to_csv.py
scripti aracılığıyla veriler.csv
uzantılı tablosal bir dosyaya dönüştürülür.- Oluşturulan csv dosyasında resimlerin etiketlerine göre sayıları tablo olarak gösterilir. (Excel yardımıyla)
- Verilerde denge durumunun (her veriden yaklaşık olarak aynı sayıda varsa) kontrolü yapılır.
- Her çeşit veri için bir
id
belirtilecek şekildelabel_map.pbtxt
adlı etiket haritası oluşturulur - Oluşturulan csv, etiket haritası ve resim verileri
scripts/preprocessing
dizindekigenerate_tfrecord.py
scripti aracılığıyla veriler.record
uzantılı kayıtlara dönüştürülür. - Seçilen modele özgü yapılandırma dosyası indirilir.
- Yapılandırma dosyası olan
*.config
dosyasındakiPATH_TO_CONFIGURED
olarak işaretlenen alanlar,num_classes
,num_examples
vebatch_size
değerleri güncellenir.num_examples
eval dizindeki resim sayısıdır (toplam class sayısı değil)
Resimlerde hata olduğu zaman eğitim aşamasında tensorflow modeli çalışma hatası vermektedir. Resimleri kontrol etmek için buradaki scripti alttaki komutlarla kullanabilirsiniz.
✴️ Windows
🐧 Linux
python scripts\preprocessing\check_images.py ^
-i workspace\example_detection\images\train
python scripts\preprocessing\check_images.py ^
-i workspace\example_detection\images\eval
python scripts\preprocessing\check_images.py \
-i workspace/example_detection/images/train
python scripts\preprocessing\check_images.py \
-i workspace/example_detection/images/eval
LabelImg ile etiketlediğiniz resimleri farklı bir dizine taşımanız durumunda XML dosyalarındaki yollar uyuşmayacaktır. XML dosya yollarını düzeltmek, etiketsiz resimleri görüntülemek için buradaki script dosyamı alttaki komutlar ile kullanabilirsiniz.
✴️ Windows
🐧 Linux
python scripts\preprocessing\xml_path_regulator.py ^
-i %TENSORFLOW%\workspace\example_detection\images\train ^
-p trainpython scripts\preprocessing\xml_path_regulator.py ^
-i %TENSORFLOW%\workspace\example_detection\images\eval -p eval
python scripts/preprocessing/xml_path_regulator.py \
-i %TENSORFLOW%/workspace/example_detection/images/train \
-p trainpython scripts/preprocessing/xml_path_regulator.py \
-i %TENSORFLOW%/workspace/example_detection/images/eval -p eval
Eğer XML scriptini kullandıysanız bu kontrolü yapmanıza gerek yoktur, XML scripti bunu zaten yapmaktadır.
python scripts\preprocessing\find_unlabeled_imgs.py -i %TENSORFLOW%\workspace\example_detection\images\trainpython scripts\preprocessing\find_unlabeled_imgs.py -i %TENSORFLOW%\workspace\example_detection\images\eval
XML dosyalarını CSV dosyasında toparlamak için buradaki scripti alttaki komutlar ile kullanabilirsin.
Komutları Anaconda Prompt üzerinden tensorflow ortamını aktif ederek uygulamayı unutmayın.
# Create train data:python scripts\preprocessing\xml_to_csv.py -i %TENSORFLOW%\workspace\example_detection\images\train -o %TENSORFLOW%\workspace\example_detection\images\train_labels.csv# Create eval data:python scripts\preprocessing\xml_to_csv.py -i %TENSORFLOW%\workspace\example_detection\images\eval -o %TENSORFLOW%\workspace\example_detection\images\test_labels.csv
Her bir etiketten kaç tane olduğunu anlamak için csv dosyalarını açıp alltaki yöntemi uygulayın.
class
hücresiinin bir altındaki hücreyi seçinctrl
+shift
+aşağı ok
ile tüm sınıf verilerini seçin- Sağ alttaki butona tıklayın
Tables
sekmesine gelin- Açılan sekmede
Pivot Table
butonuna tıklayın - Tablo'dan etiketlenen verileri kontrol edin
- Fazladan etiketlenmiş verilerin ismini bulup, filename, width vs. verilerin yazıldığı alanda
CTRL
+F
komutu ile aratıp, uygun dosya ismini vexml
dosyasını silin




Komutları Anaconda Prompt üzerinden tensorflow ortamını aktif ederek uygulamayı unutmayın.
python generate_tfrecord.py --label_map=%TENSORFLOW%\workspace\example_detection\data\label_map.pbtxt --csv_input=%TENSORFLOW%\workspace\example_detection\images\train_labels.csv --img_path=%TENSORFLOW%\workspace\example_detection\images\train --output_path=%TENSORFLOW%\workspace\example_detection\data\train.recordpython generate_tfrecord.py --label_map=%TENSORFLOW%\workspace\example_detection\data\label_map.pbtxt --csv_input=%TENSORFLOW%\workspace\example_detection\images\test_labels.csv --img_path=%TENSORFLOW%\workspace\example_detection\images\eval --output_path=%TENSORFLOW%\workspace\example_detection\data\eval.record
Last modified 1mo ago