def test_weightnorm_tflayers(self): images = random_ops.random_uniform((2, 4, 4, 3)) wn_wrapper = wrappers.WeightNormalization(keras.layers.Conv2D( 32, [2, 2]), input_shape=(4, 4, 3)) wn_wrapper.apply(images) self.assertTrue(hasattr(wn_wrapper.layer, 'g'))
def test_weightnorm_dense_train(self): model = keras.models.Sequential() model.add( wrappers.WeightNormalization(keras.layers.Dense(2), input_shape=(3, 4))) model.compile(optimizer=RMSprop(learning_rate=0.001), loss='mse') model.fit(np.random.random((10, 3, 4)), np.random.random((10, 3, 2)), epochs=3, batch_size=10) self.assertTrue(hasattr(model.layers[0].layer, 'g'))
def test_weightnorm_conv2d(self): model = keras.models.Sequential() model.add(wrappers.WeightNormalization( keras.layers.Conv2D(5, (2, 2), padding='same'), input_shape=(4, 4, 3))) model.add(keras.layers.Activation('relu')) model.compile(optimizer=RMSPropOptimizer(0.01), loss='mse') model.train_on_batch( np.random.random((2, 4, 4, 3)), np.random.random((2, 4, 4, 5))) self.assertTrue(hasattr(model.layers[0].layer, 'g'))
def test_weightnorm_conv2d(self): model = keras.models.Sequential() model.add( wrappers.WeightNormalization(keras.layers.Conv2D(5, (2, 2), padding='same'), input_shape=(4, 4, 3))) model.add(keras.layers.Activation('relu')) model.compile(optimizer=RMSprop(learning_rate=0.001), loss='mse') model.fit(np.random.random((2, 4, 4, 3)), np.random.random((2, 4, 4, 5)), epochs=3, batch_size=10) self.assertTrue(hasattr(model.layers[0].layer, 'g'))
def test_weightnorm_nokernel(self): with self.assertRaises(ValueError): wrappers.WeightNormalization(tf.keras.layers.MaxPooling2D( 2, 2)).build((2, 2))
def test_weightnorm_nonlayer(self): images = tf.random.uniform((2, 4, 43)) with self.assertRaises(ValueError): wrappers.WeightNormalization(images)