$HOME/.keras/keras.json
{
"image_data_format": "channels_last",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}
Helaas kan ik tensorflow minder goed gebruiken omdat het mij nog niet is gelukt om die backend met mijn GPU te laten samenwerken. Ik zie wel dat ik de 'padding' ook van 'same' op 'valid' kan zetten waardoor het probleem lijkt verholpen. (Het wordt mij helaas niet geheel duidelijk wat het verschil is)
Om iets aan de rare vierkantjes proberen te doen besluit ik de selecties wat groter te maken van 80x80 naar 120x120. Helaas ontstaat daarbij problemen in het model,
A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 14, 14, 64), (None, 15, 15, 64)]
u6 = concatenate([u6, c4])
160x160 geeft dat probleem niet. Dus maar opnieuw de data genereren. Helaas duurt dat vreemd genoeg nogal lang. (ongeveer 267 seconden per afbeelding = 50 uur!!!)
Ik besluit gelijktijdig wat geprogrammeerde vervuiling toe te voegen:
Het her-genereren van de data begint nu extreem veel tijd te nemen. Ik besluit tot een iets andere aanpak. I.p.v. numpy 'vstack' gebruik ik nu met een python list de 'append' voor de afbeeldingen. Dat is een enorme verbetering. Had ik eerder moeten doen. Maar een paar minuten later kan ik mijn training al aan de gang zetten nadat ik eerst nog wel de shape heb moeten aanpassen van de image array (X_train en Y_train). Het aantal images is nu 170901 (feitelijk 189891 maar 10% is voor validatie). 56967 gewone afbeeldingen en even veel met horizontale en verticale 'verminkingen'. Ik ben benieuwd.
>>> x.shape
(189891, 1, 160, 160, 3)
>>> np.asarray(Y_train).shape
(189891, 1, 160, 160)