From b5e68fc1a327651eddc3ac98bb1a22cbc2ba7134 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Fri, 20 Jan 2023 18:49:46 +0000 Subject: [PATCH] eo: don't downsample ConvNeXt at beginning --- aimodel/src/encoderonly_test_rainfall.py | 7 ++++++- aimodel/src/lib/ai/components/convnext.py | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/aimodel/src/encoderonly_test_rainfall.py b/aimodel/src/encoderonly_test_rainfall.py index efb0919..0b180bf 100755 --- a/aimodel/src/encoderonly_test_rainfall.py +++ b/aimodel/src/encoderonly_test_rainfall.py @@ -63,7 +63,12 @@ dataset_train, dataset_validate = dataset_encoderonly( def make_encoderonly(windowsize, channels, encoder="convnext", water_bins=2, **kwargs): if encoder == "convnext": - model = make_convnext(input_shape=(windowsize, windowsize, channels), num_classes=water_bins, **kwargs) + model = make_convnext( + input_shape=(windowsize, windowsize, channels), + num_classes=water_bins, + downsample_at_start=False, + **kwargs + ) elif encoder == "resnet": layer_in = tf.keras.Input(shape=(windowsize, windowsize, channels)) layer_next = tf.keras.applications.resnet50.ResNet50( diff --git a/aimodel/src/lib/ai/components/convnext.py b/aimodel/src/lib/ai/components/convnext.py index dc3630a..8921e4c 100644 --- a/aimodel/src/lib/ai/components/convnext.py +++ b/aimodel/src/lib/ai/components/convnext.py @@ -53,7 +53,8 @@ def convnext( depths = [3, 3, 9, 3], dims = [96, 192, 384, 768], drop_path_rate = 0., - classifier_activation = 'softmax' + classifier_activation = 'softmax', + downsample_at_start = True # Note that we CAN'T add data_format here, 'cause Dense doesn't support specifying the axis ): print("convnext:shape IN x", x.shape) @@ -67,7 +68,7 @@ def convnext( x = tf.keras.layers.Conv2D( dim, kernel_size = 4, - strides = 4, + strides = 4 if downsample_at_start else 1, padding = "valid", name = "downsample_layers.0.0_conv" )(x)