Wat ik ook doe het lijken alleen maar nullen met een streepje (de sexe?) en een enkel stipje te zijn. Ja, geen wonder dat hij daar weinig van kan leren. Uiteindelijk vind ik het euvel. Aan het einde van de datacollectie worden de afbeeldingen naar het type uint8 geconverteerd:
X = np.array(X, dtype=np.uint8)
Tja ... 8 bytes voor een getal van 0 .. 255. Op zich aardig maar het uitgangspunt voor de afbeeldingen was een float getal tussen 0 en 1 :
image = image.pixel_array.astype(float)
image /= np.max(image) # scale to [0,1]
Hoe doet die dan de conversie? Vreemd. Ik heb er wel wat functies tussen geplaatst maar m.i. niet die het datatype aanpassen. Hoe kan de oorspronkelijke Kaggle code dan wel goede resultaten geven?
Afijn, na nog een keertje de mist in te gaan doordat de uint8 op 2 plaatsen in het programma staat, draait hij nu zo te zien met de juiste data. Hopelijk gaat dit wel top-scores opleveren.
Geen opmerkingen:
Een reactie posten