Da biste pokrenuli repozitorijum, neophodno je pratiti sledeće korake:
- Preuzeti skup podataka
- Instalirati Python 3 i njegove neophodne biblioteke
- Preuzeti postojeće (istrenirane) modele (opciono)
- Podesiti argumente komandne linije (opciono)
- Koristeći Python, pokrenuti
main.py
Poželjno je imati CUDA uređaj za brže izvršavanje modela (oba modela su optimizovana na rad sa grafičkom kartom)
Preuzeti ISIC 2016 Task 3 skup podataka i dekompresovati datoteku u direktorijum data/dataset. Ovo ukljucuje .zip podatke za trening i test, kao i datoteke koje sadrže labele (eng. ground truth) u .csv formatu.
ISIC 2016 Task 3:
- torch
- torchvision
- numpy
- scikit-learn
- pickle
- matplotlib
- seaborn
- pandas
- PIL
Ako ne želite da trenirate modele, postojeće istrenirane modele možete preuzeti preko ovog linka. Preuzmite ih u direktorijum models/.
Prilikom pokretanja main.py, korisnik može uneti željena svojstva programa koji će se pokrenuti. Na primer, ako korisnik samo želi da trenira VGG i prikaže rezultate, to može uraditi sa sledećom komandom:
python main.py --type TEST --model_name VGG --show_results TRUE
--type (Ukucati deo klasifikacije koji će se pokrenuti - TRAIN, TEST ili TRAIN_AND_TEST)
--model_name (Odabrati model koji će se koristiti - VGG ili XGBoost)
--dataset_name (Odabrati skup podataka koji će se koristiti - ISIC ili HAM)
--show_results (Prikaži grafike treninga i/ili testa)
--save_results (Sačuvaj grafike treninga i/ili testa)
--save_model (Sačuvaj modele tokom treninga)
--log (Ispis standardnog izlaza u .log fajl)
Informacije se takođe mogu naći unošenjem --help parametra pri pokretanju main.py
Za napredna podešavanja, konstantni parametri su dati u datoteci utils/constants.py. Može se menjati putanja do skupa podataka, broj epoha i mnoge druge stvari.
Rezultate, na osnovu modela i skupa podataka, možete videti u results/ direktorijumu. U formatu .log je sačuvan ispis modela.
Dodata je podrška za testiranje na HAM10000 skupu podataka. Link za preuzimanje se može naći na sajtu ovde klikom na dugme Download. Podaci će biti skinuti u .zip formatu koje treba dekompresovati i ubaciti u data/dataset/archive direktorijum.
Prilikom pokretanja programa, uneti argument komandne linije:
--dataset_name HAM
Upozorenje: Skup podataka zauzima 6GB slobodnog prostora i nema podršku za trening
Seminarski rad na srpskom se može naći ovde
Prilikom pokretanja main.py datoteke, u zavisnosti od argumenata komandne linije, poziva se trening ili test (ili oba) iz te datoteke.
Kada se pokrene trening u train.py datoteci, podaci se smeštaju u DataLoader, klasi u PyTorch biblioteci specijalizovanoj za kreiranje skupa podataka iz sirovih podataka. Ovde se mogu odrediti npr. specijalne transformacije koje želimo da ima naš skup, tj. možemo imati različite transformacije za XGBoost i VGG model.
Nakon treniranja, model se čuva u models/ direktorijum.
Kada se pokrene test u test.py datoteci, podaci se takođe smeštaju u Dataloader klasu sa izabranim transformacijama. Test datoteka onda u zavisnosti od modela, drugačije evaluira model i pokazuje grafičke rezultate, ali i pamti izlaz (ako je tako podešeno u argumentu komandne linije --log)
Ovaj projekat su radili Igor Zolotarev i Branko Grbić, studenti Matematičkog Fakulteta u sklopu projekta za kurs Istraživanje Podataka 2, pod mentorstvom profesora Nenada Mitića.
Ovim putem se zahvaljujemo na svim preporukama i savetima.