👨🏫Modeli Eğitime
🔰 Ön Bilgiler
Modeli eğitmek için train.py
script dosyasını kullanacağız.
Modeli önerilen dosya olan model_main.py
ile eğitmek için buraya bakmalısın.
🩹 Eğitim Scriptlerini Çalışma Alanına Kopyalama
Çalışma ortamının düzgün ilerlemesi adına alttaki komut ile gerekli yere scripti kopyalayalım
📜 Eğitimde Raporlanacak Seviyeyi Ayarlama (isteğe Bağlı)
Eğitimde uyarı ve bilgileri gizlemek için TF_CPP_MIN_LOG_LEVEL
adlı ortam değişkeni oluşturup seviyesini tanımlıyoruz
📦 Eğitim için Gereksinimlerin Kurulması
Eğitim için pycocotools
kurulumu gereklidir
🏴 Eğitimi Hazırlama ve Başlatma
Resmi kaynağa ulaşmak için buraya bakabilirsin.
model_main.py
eğitim için önerilen dosyadırVarsayılan olarak ekrana raporlama yapmaz, yapmasını isterseniz buraya bakabilirsiniz
Bu dosya ile eğitim önerilen eğitim şeklidir.
train.py
ile eğitime nazaran, kaldığı yerden devam eder1000 adım yapıldıysa, ikinci eğitimi 1200 yaptığınızda 200 adım eğitir
train.py
eğitiminde modelin sonucunun ayrılıp, sonuç üzerinden eğitim yapılması gerekir
Eğitim dosyaları arasında performans veya kalite farkı yoktur, kaynak için buraya bakabilirsin.
🧲 Eğitimi Etkileyen Faktörler
Training times can be affected by a number of factors such as:
The computational power of you hardware (either CPU or GPU): Obviously, the more powerful your PC is, the faster the training process.
Whether you are using the TensorFlow CPU or GPU variant: In general, even when compared to the best CPUs, almost any GPU graphics card will yield much faster training and detection speeds. As a matter of fact, when I first started I was running TensorFlow on my Intel i7-5930k (6/12 cores @ 4GHz, 32GB RAM) and was getting step times of around 12 sec/step, after which I installed TensorFlow GPU and training the very same model -using the same dataset and config files- on a EVGA GTX-770 (1536 CUDA-cores @ 1GHz, 2GB VRAM) I was down to 0.9 sec/step!!! A 12-fold increase in speed, using a “low/mid-end” graphics card, when compared to a “mid/high-end” CPU.
How big the dataset is: The higher the number of images in your dataset, the longer it will take for the model to reach satisfactory levels of detection performance.
The complexity of the objects you are trying to detect: Obviously, if your objective is to track a black ball over a white background, the model will converge to satisfactory levels of detection pretty quickly. If on the other hand, for example, you wish to detect ships in ports, using Pan-Tilt-Zoom cameras, then training will be a much more challenging and time-consuming process, due to the high variability of the shape and size of ships, combined with a highly dynamic background.
And many, many, many, more. . . .
👀 Eğitim İşlemini TensorBoard Kullanarak Takip Etme
Anaconda Prompt üzerinden alttaki komutlar uygulanır:
Alttaki gibi bir çıktı gelmesi gerekmekte:
Çıktıyı görüntülemek için verilen url'i tarayıcına kopyalaman yeterlidir.
📃 Sonuç Grafiğini Dışarı Aktarma
Anaconda Prompt üzerinden alttaki komutlar uygulanır:
<yapılandırma_dosyası>
Modelimizin yapılandırma dosyasının tam adıtraining klasörüne attığımız yapılandırma dosyaları
Örn: ssd_inception_v2_coco.config
<checkpoint>
example_detection/training dizinindeki gösterilmek istenen adımın numarasıÖrn: 13302
📎 Ek Notlar
Last updated