def test_fit_octave_conv_stride(self): inputs = Input(shape=(32, 32, 3)) conv = octave_conv_2d(inputs, filters=13, kernel_size=3, strides=(1, 2)) pool = octave_dual(conv, MaxPool2D()) conv = octave_conv_2d(pool, filters=5, kernel_size=3, ratio_out=1.0) flatten = Flatten()(conv) outputs = Dense(units=2, activation='softmax')(flatten) model = Model(inputs=inputs, outputs=outputs) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy') model.summary(line_length=200) self._test_fit(model)
def test_fit_octave_conv_low(self): inputs = keras.layers.Input(shape=(32, 32, 3)) conv = octave_conv_2d(inputs, filters=13, kernel_size=3) pool = octave_dual(conv, keras.layers.MaxPool2D()) conv = octave_conv_2d(pool, filters=7, kernel_size=3, name='Octave-Mid') pool = octave_dual(conv, keras.layers.MaxPool2D()) conv = octave_conv_2d(pool, filters=5, kernel_size=3, ratio_out=1.0) flatten = keras.layers.Flatten()(conv) outputs = keras.layers.Dense(units=2, activation='softmax')(flatten) model = keras.models.Model(inputs=inputs, outputs=outputs) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy') model.summary(line_length=200) self._test_fit(model)