Skip to content

igorz999/MelanomaClassification

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Klasifikacija raka kože

Kako pokrenuti repozitorijum

Da biste pokrenuli repozitorijum, neophodno je pratiti sledeće korake:

  1. Preuzeti skup podataka
  2. Instalirati Python 3 i njegove neophodne biblioteke
  3. Preuzeti postojeće (istrenirane) modele (opciono)
  4. Podesiti argumente komandne linije (opciono)
  5. 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)

Uputstvo za preuzimanje skupa podataka

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:

Neohpodne Python biblioteke

  • torch
  • torchvision
  • numpy
  • scikit-learn
  • pickle
  • matplotlib
  • seaborn
  • pandas
  • PIL

Preuzimanje modela

Ako ne želite da trenirate modele, postojeće istrenirane modele možete preuzeti preko ovog linka. Preuzmite ih u direktorijum models/.

Argumenti komandne linije

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

Promena parametara

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.

Rezultati

Rezultate, na osnovu modela i skupa podataka, možete videti u results/ direktorijumu. U formatu .log je sačuvan ispis modela.

Testiranje sa HAM10000 skupom podataka

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

Seminarski rad na srpskom se može naći ovde

Kako program funkcioniše?

Prilikom pokretanja main.py datoteke, u zavisnosti od argumenata komandne linije, poziva se trening ili test (ili oba) iz te datoteke.

Trening

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.

Test

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)

Informacije o autorima i mentoru

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.2%
  • Python 0.8%