Home

Awesome

VGGSegmentation

Segmentation vgg16 fcn - cityscapes Priprema skupa

skripta prepare_dataset_downsampled.py

Iz slika cityscapesa izrezuje haubu automobila, i smanjuje sliku na željenu rezoluciju, to zapisuje u tfrecords formatu. Treba zadati putanju do cityscapesa, izlazni direktorij gdje će se spremati tfrecordsi i zadati željenu rezoluciju.

Priprema težina vgg-a

Da bi se model mogao fine-tuneati treba na disku imati spremljene težine mreže (prethodno naučene na nekom drugom skupu). One se mogu skinuti s interneta u raznim formatima.

Ja sam ih imala spremljene u sljedećim datotekama: conv1_1_biases.bin conv1_1_weights.bin conv1_2_biases.bin conv1_2_weights.bin conv2_1_biases.bin conv2_1_weights.bin conv2_2_biases.bin conv2_2_weights.bin conv3_1_biases.bin conv3_1_weights.bin conv3_2_biases.bin conv3_2_weights.bin conv3_3_biases.bin conv3_3_weights.bin conv4_1_biases.bin conv4_1_weights.bin conv4_2_biases.bin conv4_2_weights.bin conv4_3_biases.bin conv4_3_weights.bin conv5_1_biases.bin conv5_1_weights.bin conv5_2_biases.bin conv5_2_weights.bin conv5_3_biases.bin conv5_3_weights.bin fc6_biases.bin fc6_weights.bin fc7_biases.bin fc7_weights.bin fc8_biases.bin fc8_weights.bin

Ako će se težine učitavati iz ckpt. datoteke npr vgg_16.ckpt, onda će i u kodu trebati mjenjati metodu create_init_op unutar model.py

Konfiguracija

config/cityscapes.py - primjer fajla s konfiguracijom za treniranje

Treba promjeniti putanje

model_path da pokazuje do py fajla s definicijom modela (primjer za takve dvije defincije su model.py i model2.py)

dataset_dir - da pokazuje do foldera s prethodno pripremljenim tfrecordsima (koji sadrzi subdirektorije train i val)

treba paziti pri razlicitim rezolucijama da se promjene zastavice img_width i height

ostale zastavice se većinom odnose na treniranje modela to mjenjati prema potrebi.

subsample_factor zastavica bi označavala faktor za koji se rezolucija mape smanji na kraju mreže. Taj faktor će ovisiti o samome modelu koji se trenira, ako model ima tri pooling sloja 2*2 svaki taj sloj će sliku smanjiti za dva puta pa će ukupno smanjnjenje biti za faktor osam

train.py - skripta koja pokreće skriptu treniranja, nakon svake epohe model se evaluira na skupu za validaciju.