Commit graph

523 commits

Author SHA1 Message Date
46d1f5e4e0
dataset_mono: fix dataset parsing 2023-01-05 19:00:52 +00:00
aca7b83a78
dataset_mono: fix sizing
it didn't account for rainfall_scale_up
2023-01-05 18:38:47 +00:00
19bb2fcac0
debug 2023-01-05 18:32:22 +00:00
6a4f68a055
missing import 2023-01-05 18:26:33 +00:00
0d4cc63b76
dl rainfall: fix env var name 2023-01-05 17:42:20 +00:00
dd79fb6e68
fixup 2023-01-05 17:09:09 +00:00
11ccd4cbee
slurm deeplab rainfall: fix variable naming 2023-01-05 17:08:57 +00:00
c17e53ca75
deeplabv3+ for rainfall 2022-12-16 19:52:59 +00:00
677e39f820
work on slurm for deeplabv3+ rainfall, but it's NOT FINISHED YET 2022-12-16 19:52:44 +00:00
423e277ed1
add comment 2022-12-15 19:33:25 +00:00
ef5071b569
DeepLabV3+: start working on version for rainfall radar, but it's not finished yet 2022-12-15 19:33:14 +00:00
15a3150127
DeepLabV3+: close each matplotlib figure after writing it 2022-12-15 19:14:07 +00:00
6ce121f861
DeepLabV3+: have argument for number of channels 2022-12-14 17:36:30 +00:00
1dc2ec3a46
DeepLabV3+: pathing.... again 2022-12-13 18:51:09 +00:00
eb47f8f544
dataset_mono: adjust to suit DeepLabV3+ too 2022-12-13 18:37:38 +00:00
440e693dfc
DeepLabv3+: fix pathing again 2022-12-13 18:26:00 +00:00
7e1f271bf4
deeplabv3+: fix colourmap 2022-12-13 14:02:10 +00:00
4d8ce792c9
ddeeplabv3+: fix imports/pathing errors 2022-12-13 13:38:27 +00:00
fc43f145c2
if not 2022-12-13 13:28:09 +00:00
d907dc48e5
DeepLabv3+: add logging 2022-12-13 13:20:16 +00:00
be4d928319
deeplabv3+: chmod +x 2022-12-13 13:06:42 +00:00
91846079b2
deeplabv3+ tesst: add shebang 2022-12-13 12:56:14 +00:00
96e260fe82
slurm: add job file for deeplabv3 test 2022-12-12 19:31:49 +00:00
8866960017
TEST SCRIPT: deeplabv3
ref https://keras.io/examples/vision/deeplabv3_plus/
dataset ref https://drive.google.com/uc?id=1B9A9UCJYMwTL4oBEo4RZfbMZMaZhKJaz

(the code is *terrible* spaghetti....!)
2022-12-12 19:20:07 +00:00
4e4d42a281
LossDice: add comment 2022-12-12 18:34:20 +00:00
449bc425a7
LossDice: explicitly cast inputs to float32 2022-12-12 17:20:32 +00:00
dbf8f5617c
drop activation function in last layers 2022-12-12 17:20:04 +00:00
bcd2f1251e
LossDice: Do 1 - thing instead of -thing 2022-12-09 19:41:32 +00:00
d0dbc50bb7
debug 2022-12-09 19:33:28 +00:00
2142bb039c
again 2022-12-09 19:30:01 +00:00
7000b0f193
fixup 2022-12-09 19:23:35 +00:00
85012d0616
fixup 2022-12-09 19:18:03 +00:00
719d8e9819
strip channels layer at end 2022-12-09 19:11:00 +00:00
0129c35a35
LossDice: remove weird K.* functions 2022-12-09 19:06:26 +00:00
659fc97fd4
fix crash 2022-12-09 18:39:27 +00:00
e22c0981e6
actually use dice loss 2022-12-09 18:35:17 +00:00
649c262960
mono: switch loss from crossentropy to dice 2022-12-09 18:13:37 +00:00
7fd7c750d6
jupyter: identity test
status: FAILED, as usual....!
Don't worry though, 'cause we has a *planses*..... MUHAHAHAHAHAHAHA
* cue evil laugh *
2022-12-09 18:07:56 +00:00
cf9e8aa237
jupyter: convnext-mono identity test 2022-12-09 15:50:27 +00:00
2a1772a211
confvnext_intrevse: add shallow 2022-12-08 19:10:12 +00:00
c27869630a
I hate VSCode's git commit interface
it doesn't let you ammend
2022-12-08 18:58:54 +00:00
b3345963f3
missing arg pass 2022-12-08 18:58:32 +00:00
3dde9b69da
fixup 2022-12-08 18:56:32 +00:00
6fce39f696
WHY?!?!?! 2022-12-08 18:55:53 +00:00
26766366fc
I hate the python code intelligence
it's bad
2022-12-08 18:55:15 +00:00
ff56f591c7
I hate python 2022-12-08 18:53:37 +00:00
d37e7224f5
train-mono: tidy up arg passing 2022-12-08 18:47:03 +00:00
b53db648bf
fixup 2022-12-08 18:31:42 +00:00
18c0210704
typo 2022-12-08 17:00:25 +00:00
a3c9416cf0
LossCrossentropy: don't sum 2022-12-08 16:57:11 +00:00
08046340f4
dataset_mono: normalise heightmap 2022-12-08 16:10:34 +00:00
d997157f55
dataset_mono: log when using heightmap 2022-12-06 19:30:11 +00:00
468c150570
slurm-train-mono: add HEIGHTMAP 2022-12-06 19:28:06 +00:00
d0f2e3d730
readfile: do transparent gzip by default
....but there's a glad to turn it off if needed
2022-12-06 19:27:39 +00:00
eac6472c97
Implement support for (optionally) taking a heightmap in 2022-12-06 18:55:58 +00:00
f92b2b3472
according to the equation it looks like it's 2 2022-12-02 17:22:46 +00:00
cad82cd1bc
CBAM: unsure if it's 1 ro 3 dense ayers in the shared mlp 2022-12-02 17:21:13 +00:00
62f6a993bb
implement CBAM, but it's UNTESTED
Convolutional Block Attention Module.
2022-12-02 17:17:45 +00:00
9d666c3b38
train mono: type=int → float 2022-12-01 15:39:44 +00:00
53dfa32685
model_mono: log learning rate 2022-12-01 15:10:51 +00:00
c384d55dff
add arg to adjust learning rate 2022-11-29 20:55:00 +00:00
8e23e9d341
model_segmenter: we're no longer using sparse 2022-11-29 19:28:27 +00:00
9a2b4c6838
dsseg: fix reshape/onehot ordering 2022-11-29 19:28:13 +00:00
df774146d9
dataset_segmenter: reshape, not squeeze 2022-11-29 19:24:54 +00:00
77b8a1a8db
dataset_segmenter: squeeze 2022-11-29 19:16:15 +00:00
2258b5a229
slurm-train: reduce RAM required by 10GB 2022-11-29 19:15:34 +00:00
01101ad30b
losscrossentropy: return the reduced value * facepalm * 2022-11-29 19:07:08 +00:00
ff65393e78
log file naming update 2022-11-29 18:41:14 +00:00
37f196a785
LossCrossentropy: add kwargs 2022-11-29 15:40:35 +00:00
838ff56a3b
mono: fix loading checkpoint 2022-11-29 15:25:11 +00:00
dba6cbffcd
WHY. * facepalms * 2022-11-28 19:33:42 +00:00
57b8eb93fb
fixup 2022-11-28 19:09:35 +00:00
6640a41bb7
almost got it....? it's not what I expected....! 2022-11-28 19:08:50 +00:00
f48473b703
fixup 2022-11-28 19:00:11 +00:00
f6feb125e3
this iss ome serious debugging.
This commit will produce an extremely large volume of output.
2022-11-28 18:57:41 +00:00
09f81b0746
train_mono: debug
this commit will generate a large amount of debug output.
2022-11-28 16:46:17 +00:00
f39e4ade70
LayerConvNextGamma: fix config serialisation bug
.....this is unlikely to be the problem as this bug is in an unused code path.
2022-11-25 21:16:31 +00:00
e7410fb480
train_mono_predict: limit label size to 64x64
that's the size the model predicts
2022-11-25 17:47:17 +00:00
51dd484d13
fixup 2022-11-25 16:55:45 +00:00
884c4eb150
rainfall_stats: formatting again 2022-11-24 19:08:07 +00:00
bfe038086c
rainfall_stats: formatting 2022-11-24 19:07:44 +00:00
7dba03200f
fixup 2022-11-24 19:06:48 +00:00
e5258b9c66
typo 2022-11-24 19:06:13 +00:00
64d646bb13
rainfall_stats: formatting 2022-11-24 19:05:35 +00:00
675c7a7448
fixup 2022-11-24 19:03:28 +00:00
afc1cdcf02
fixup 2022-11-24 19:02:58 +00:00
e4bea89c89
typo 2022-11-24 19:01:52 +00:00
a40cbe8705
rainfall_stats: remove unused imports 2022-11-24 19:01:18 +00:00
fe57d6aab2
rainfall_stats: initial implementation
this might reveal why we are having problems. If most/all the rainfall radar
data is v small numbers, normalising
might help.
2022-11-24 18:58:16 +00:00
3131b4f7b3
debug2 2022-11-24 18:25:32 +00:00
d55a13f536
debug 2022-11-24 18:24:03 +00:00
1f60f2a580
do_argmax 2022-11-24 18:11:03 +00:00
6c09d5254d
fixup 2022-11-24 17:57:48 +00:00
54a841efe9
train_mono_predict: convert to correct format 2022-11-24 17:56:07 +00:00
105dc5bc56
missing kwargs 2022-11-24 17:51:29 +00:00
1e1d6dd273
fixup 2022-11-24 17:48:19 +00:00
011e0aef78
update cli docs 2022-11-24 16:38:07 +00:00
773944f9fa
train_mono_predict: initial implementation 2022-11-24 16:33:50 +00:00
d31326cb30
slurm train mono: fix partition name 2022-11-22 17:02:02 +00:00
ce28ac4013
slurm: add job for train_mono 2022-11-22 16:58:46 +00:00
3a0356929c
mono: drop the sparse 2022-11-22 16:20:56 +00:00
7e8f63f8ba
fixup 2022-11-21 19:38:24 +00:00
ace4c8b246
dataset_mono: debug 2022-11-21 18:46:21 +00:00
527b34942d
convnext_inverse: kernel_size 4→2 2022-11-11 19:29:37 +00:00
0662d0854b
model_mono: fix bottleneck 2022-11-11 19:11:40 +00:00
73acda6d9a
fix debug logging 2022-11-11 19:08:38 +00:00
9da059d738
model shape logging 2022-11-11 19:03:37 +00:00
00917b2698
dataset_mono: log shapes 2022-11-11 19:02:43 +00:00
54ae88b1b4
in this entire blasted project I have yet to get the rotation of anything correct....! 2022-11-11 18:58:45 +00:00
a7a475dcd1
debug 2 2022-11-11 18:38:07 +00:00
bf2f6e9b64
debug logging
it begins again
2022-11-11 18:31:40 +00:00
481eeb3759
mono: fix dataset preprocessing
rogue dimension
2022-11-11 18:31:27 +00:00
9035450213
mono: instantiate right model 2022-11-11 18:28:29 +00:00
69a2d0cf04
fixup 2022-11-11 18:27:01 +00:00
65e801cf28
train_mono: fix crash 2022-11-11 18:26:25 +00:00
8ac5159adc
dataset_mono: simplify param passing, onehot+threshold water depth data 2022-11-11 18:23:50 +00:00
3a3f7e85da
typo 2022-11-11 18:03:09 +00:00
3313f77c88
Add (untested) mono rainfall → water depth model
* sighs *
Unfortunately I can't seem to get contrastive learning to work.....
2022-11-10 22:36:11 +00:00
ce194d9227
slurm: customise log file names 2022-11-10 21:09:34 +00:00
9384b89165
model_segmentation: spare → normal crossentropy, activation functions at end 2022-11-10 20:53:37 +00:00
b6676e7361
switch from sparse to normal crossentropy 2022-11-10 20:50:56 +00:00
d8be26d476
Merge branch 'main' of git.starbeamrainbowlabs.com:sbrl/PhD-Rainfall-Radar 2022-11-10 20:49:01 +00:00
b03388de60
dataset_segmenter: DEBUG: fix water shape 2022-11-10 20:48:21 +00:00
daf691bf43
typo 2022-11-10 19:55:00 +00:00
0aa2ce19f5
read_metadata: support file inputs as well as dirs 2022-11-10 19:53:30 +00:00
aa7d9b8cf6
fixup 2022-11-10 19:46:09 +00:00
0894bd09e8
train_predict: add error message for parrams.json not found 2022-11-10 19:45:41 +00:00
0353072d15
allow pretrain to run on gpu
we've slashed the size of the 2nd encoder, so ti should fit naow?
2022-11-04 17:02:07 +00:00
44ad51f483
CallbackNBatchCsv: bugfix .sort() → sorted() 2022-11-04 16:40:21 +00:00
4dddcfcb42
pretrain_predict: missing \n 2022-11-04 16:01:28 +00:00
1375201c5f
CallbackNBatchCsv: open_handle mode 2022-11-03 18:29:00 +00:00
3206d6b7e7
slurm: rename segmenter job name 2022-11-03 17:12:27 +00:00
f2ae74ce7b
how could I be so stupid..... round 2 2022-11-02 17:38:26 +00:00
5f8d6dc6ea
Add metrics every 64 batches
this is important, because with large batches it can be difficult to tell what's happening inside each epoch.
2022-10-31 19:26:10 +00:00
cf872ef739
how could I be so *stupid*...... 2022-10-31 18:40:58 +00:00
da32d75778
make_callbacks: display steps, not samples 2022-10-31 18:36:28 +00:00
dfef7db421
moar debugging 2022-10-31 18:26:34 +00:00
172cf9d8ce
tweak 2022-10-31 18:19:43 +00:00
dbe35ee943
loss: comment l2 norm 2022-10-31 18:09:03 +00:00
5e60319024
fixup 2022-10-31 17:56:49 +00:00
b986b069e2
debug party time 2022-10-31 17:50:29 +00:00
458faa96d2
loss: fixup 2022-10-31 17:18:21 +00:00
55dc05e8ce
contrastive: comment weights that aren't needed 2022-10-31 16:26:48 +00:00
33391eaf16
train_predict/jsonl: don't argmax
I'm interested inthe raw values
2022-10-26 17:21:19 +01:00
74f2cdb900
train_predict: .list() → .tolist() 2022-10-26 17:12:36 +01:00
4f9d543695
train_predict: don't pass model_code
it's redundant
2022-10-26 17:11:36 +01:00
1b489518d0
segmenter: add LayerStack2Image to custom_objects 2022-10-26 17:05:50 +01:00
48ae8a5c20
LossContrastive: normalise features as per the paper 2022-10-26 16:52:56 +01:00
843cc8dc7b
contrastive: rewrite the loss function.
The CLIP paper *does* kinda make sense I think
2022-10-26 16:45:45 +01:00
fad1399c2d
convnext: whitespace 2022-10-26 16:45:20 +01:00
1d872cb962
contrastive: fix initial temperature value
It should be 1/0.07, but we had it set to 0.07......
2022-10-26 16:45:01 +01:00
f994d449f1
Layer2Image: fix 2022-10-25 21:32:17 +01:00
6a29105f56
model_segmentation: stack not reshape 2022-10-25 21:25:15 +01:00
98417a3e06
prepare for NCE loss
.....but Tensorflow's implementation looks to be for supervised models :-(
2022-10-25 21:15:05 +01:00
bb0679a509
model_segmentation: don't softmax twice 2022-10-25 21:11:48 +01:00
f2e2ca1484
model_contrastive: make water encoder significantly shallower 2022-10-24 20:52:31 +01:00
a6b07a49cb
count water/nowater pixels in Jupyter Notebook 2022-10-24 18:05:34 +01:00
a8b101bdae
dataset_predict: add shape_water_desired 2022-10-24 18:05:13 +01:00
587c1dfafa
train_predict: revamp jsonl handling 2022-10-21 16:53:08 +01:00
8195318a42
SparseCategoricalAccuracy: losses → metrics 2022-10-21 16:51:20 +01:00
612735aaae
rename shuffle arg 2022-10-21 16:35:45 +01:00
c98d8d05dd
segmentation: use the right accuracy 2022-10-21 16:17:05 +01:00
bb0258f5cd
flip squeeze operator ordering 2022-10-21 15:38:57 +01:00
af26964c6a
batched_iterator: reset i_item after every time 2022-10-21 15:35:43 +01:00
c5b1501dba
train-predict fixup 2022-10-21 15:27:39 +01:00
42aea7a0cc
plt.close() fixup 2022-10-21 15:23:54 +01:00
12dad3bc87
vis/segmentation: fix titles 2022-10-21 15:22:35 +01:00
0cb2de5d06
train-preedict: close matplotlib after we've finished
they act like file handles
2022-10-21 15:19:31 +01:00
81e53efd9c
PNG: create output dir if doesn't exist 2022-10-21 15:17:39 +01:00
3f7db6fa78
fix embedding confusion 2022-10-21 15:15:59 +01:00
847cd97ec4
fixup 2022-10-21 14:26:58 +01:00
0e814b7e98
Contraster → Segmenter 2022-10-21 14:25:43 +01:00
1b658a1b7c
train-predict: can't destructure array when iterating generator
....it seems to lead to undefined behaviour or something
2022-10-20 19:34:04 +01:00
aed2348a95
train_predict: fixup 2022-10-20 15:42:33 +01:00
cc6679c609
batch data; use generator 2022-10-20 15:22:29 +01:00
d306853c42
use right daataset 2022-10-20 15:16:24 +01:00
59cfa4a89a
basename paths 2022-10-20 15:11:14 +01:00
4d8ae21a45
update cli help text 2022-10-19 17:31:42 +01:00
200076596b
finish train_predict 2022-10-19 17:26:40 +01:00
488f78fca5
pretrain_predict: default to parallel_reads=0 2022-10-19 16:59:45 +01:00
63e909d9fc
datasets: add shuffle=True/False to get_filepaths.
This is important because otherwise it SCAMBLES the filenames, which is a disaster for making predictions in the right order....!
2022-10-19 16:52:07 +01:00
fe43ddfbf9
start implementing driver for train_predict, but not finished yet 2022-10-18 19:37:55 +01:00
b3ea189d37
segmentation: softmax the output 2022-10-13 21:02:57 +01:00
f121bfb981
fixup summaryfile 2022-10-13 17:54:42 +01:00
5c35c0cee4
model_segmentation: document; remove unused args 2022-10-13 17:50:16 +01:00
f12e6ab905
No need for a CLI arg for feature_dim_in - metadata should contain this 2022-10-13 17:37:16 +01:00
e201372252
write quick Jupyter notebook to test data
....I'm paranoid
2022-10-13 17:27:17 +01:00
ae53130e66
layout 2022-10-13 14:54:20 +01:00
7933564c66
typo 2022-10-12 17:33:54 +01:00
dbe4fb0eab
train: add slurm job file 2022-10-12 17:27:10 +01:00
6423bf6702
LayerConvNeXtGamma: avoid adding an EagerTensor to config
Very weird how this is a problem when it wasn't before..
2022-10-12 17:12:07 +01:00
32f5200d3b
pass model_arch properly 2022-10-12 16:50:06 +01:00
5933fb1061
fixup 2022-10-11 19:23:41 +01:00
c45b90764e
segmentation: adds xxtiny, but unsure if it's small enough 2022-10-11 19:22:37 +01:00
f4a2c742d9
typo 2022-10-11 19:19:23 +01:00
11f91a7cf4
train: add --arch; default to convnext_i_xtiny 2022-10-11 19:18:01 +01:00
5666c5a0d9
typo 2022-10-10 18:12:51 +01:00
131c0a0a5b
pretrain-predict: create dir if not exists 2022-10-10 18:00:55 +01:00
deede32241
slurm-pretrain: limit memory usage 2022-10-10 17:45:29 +01:00
13a8f3f511
pretrain-predict: only queue pretrain-plot if I we output jsonl 2022-10-10 17:11:10 +01:00