27-01

Remember how some time ago I started suspecting that the model might actually learn only from the initial image in the dataset and ignore all other images? When trying out Tversky loss I regenerated the dataset and I observed that the only image which was properly segmented occupies the same place in the grid as the sole good prediction in all the grids I've generated before. Just to be sure I regenerated the dataset once again and the same pattern appeared. What's following are predictions made using the Tversky loss with alpha = 0.85 and beta = 0.15 on two different datasets.

first image generated using Tversky loss

first image generated using Tversky loss

second image generated using Tversky loss

second image generated using Tversky loss

I have no idea why this is happening. This is actually a little bittersweet since this means the model is actually learning but the model "locks" somehow after it learns only one label. I have a suspicion that tinygrad's JIT somehow locks the arguments of the training function in place after the training gets to the second image in the set. Will try to train once without JIT and see whether the output will be different.