Closed FedericoCalandra closed 1 year ago
Su GitHub non penso sia fattibile. Un modo sarebbe caricarlo su Kaggle e usare dopo le loro API REST per recuperarlo. Non ho mai provato ma credo non sia troppo difficile. Altrimenti, più semplicemente, lasciamo che bisogna scaricarlo manualmente.
Temo però che leggere tutte le immagini del dataset (ovvero caricarle in memoria) al momento della creazione dell'istanza della classe non funzionerà, perché il dataset è troppo grande. Bisognerà utilizzare la classe Sequence di Keras.
Posso occuparmene io, altrimenti se vuoi provare c'è da fare qualcosa di simile all'esempio fornito qui.
Ho fatto un po' di prove e funziona bene ma il caricamento in memoria è effettivamente piuttosto lento (non meno di un paio di minuti) e satura completamente i miei poveri 8 GB di ram. Seguo il consiglio e implemento una nuova versione di RENOIRDatasetBuilder usando la classe Sequence di Keras.
Ho aggiunto la nuova versione. Purtroppo non ho notato significative differenze nei tempi di esecuzione ma forse è dovuto al fatto che semplicemente ho un PC vecchio
Ho aggiunto la classe RENOIRDatasetBuilder. Costruisce il test set per valutare le performance dei modelli complessi che andremo ad implementare.
Per farlo funzionare è necessario: 1) scaricare il dataset da questo link (va bene uno tra Canon T3i e Xiaomi Mi3 o entrambi, versione aligned) 2) decomprimere la cartella 3) il percorso della cartella va passato al costruttore della classe:
__init__(self, dataset_folder, dataset_type)
4) dataset_type può essere 'Mi3_Aligned' o 'T3i_Aligned'Nota: il dataset è molto grande, non sono sicuro di quale sia il modo migliore per importarlo (su GitHub?)