-
Notifications
You must be signed in to change notification settings - Fork 0
Add non-trivial convolutional encoder/decoder #90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
…nd ConvBlockDownsample
528a25c
to
0f61efc
Compare
Latent space visualisationI've done some quick visualisations of the latent space for Naive linearCNNNormalisationNow we can see that the CNN has actually lost some information during the encoding process, let's try adding a normalisation layer as the first step of the encoder. CNN with initial
|
Looking at this, I'm wondering about whether we need to do any regridding / reprojecting. At the moment, the SIC is centred round the south pole (-90 lat, 0 long), but I assume the ERA5 data is centred on something like -45 lat, 0 long? |
Reviewing this |
@IFenton: I could see that the different scales/grids for ERA5 and OSISAF might mean that we end up depending more heavily on OSISAF but not that we can't produce anything at all. I wonder whether there's an additional issue in the decoder? |
@jemrobinson Curiously, I've just done a couple of runs of naive_unet_naive, and it's producing pretty good results, e.g. https://wandb.ai/turing-seaice/leaderboard/runs/3g3iduk3?nw=nwuserifenton. It's just running on the defaults, so not quite sure what's going on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -0,0 +1,22 @@ | |||
_target_: ice_station_zebra.models.EncodeProcessDecode | |||
|
|||
name: encode-ddpm-decode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name: encode-ddpm-decode | |
name: cnn-ddpm-cnn |
Testing
The following validation results come from the same minimal training (Dec 2019) and validation (Jan01-Jan15 2020) data.
I'm a bit worried about the fact that 500 epochs and 20 epochs look essentially the same, but perhaps this is due to the very small amount of training data?
Thoughts @marianovitasari20 @louisavz ?
Should we be doing some sort of normalisation at data-loading/data-prep time?
naive-null-naive: 781 params
20 epochs
500 epochs
cnn-null-cnn: 1.8M params
20 epochs
500 epochs
naive-unet-naive: 11M params
20 epochs
500 epochs
cnn-unet-cnn: 12.8M params
20 epochs
500 epochs