def test_efficientnet(): l = ext.layer('EfficientNet') n = l((None, None, 8)) assert len(n.layers) == 334 assert n.layers[0].input_shape == [(None, None, None, 8)] out_shape = n.compute_output_shape((None, 512, 512, 8)).as_list() assert out_shape == [None, 16, 16, 352]
def test_gaussian_sample(): l = ext.layer('GaussianSample') n = l() assert n.get_config()['kl_loss'] result = n((tf.zeros((1, 3, 3, 3)), tf.ones((1, 3, 3, 3)))) assert result.shape == (1, 3, 3, 3) assert isinstance(n.callback(), tf.keras.callbacks.Callback)
def __init__(self, layer_type, layer_name, inputs, params, all_layers): """ all_layers is a name indexed dictionary of LayerWrappers for all the layers, shared between them. """ self._layer_type = layer_type self.name = layer_name self._inputs = inputs lc = extensions.layer(layer_type) if lc is None: lc = getattr(tensorflow.keras.layers, layer_type, None) if lc is None: raise ValueError('Unknown layer type %s.' % (layer_type)) self.layer = lc(**params) self._sub_layers = None self._tensor = None all_layers[layer_name] = self self._all_layers = all_layers