def test_filter_activations_by_layers_last_layer(self): "Filter activations by layer (Last layer)" selected_layer = self.num_layers - 1 filtered_activations = ablation.filter_activations_by_layers( self.activations, [selected_layer], self.num_layers) np.testing.assert_array_almost_equal( filtered_activations, self.layer_activations[selected_layer])
def test_filter_activations_by_layers_multiple(self): "Filter activations by layers (Multiple layers)" selected_layers = [1, 3] filtered_activations = ablation.filter_activations_by_layers( self.activations, selected_layers, self.num_layers) expected_output = np.concatenate( [self.layer_activations[s_l] for s_l in selected_layers], axis=1) np.testing.assert_array_almost_equal(filtered_activations, expected_output)
def test_filter_activations_by_layers_bidi_backward(self): "Filter activations by layer (Bi-directional backward)" selected_layer = 2 filtered_activations = ablation.filter_activations_by_layers( self.activations, [selected_layer], self.num_layers, bidirectional_filtering="backward") np.testing.assert_array_almost_equal( filtered_activations, self.layer_activations[selected_layer] [:, self.num_neurons_per_layer // 2:])
def test_filter_activations_by_layers_bidi_backward_multiple(self): "Filter activations by layers (Bi-directional backward)" selected_layers = [1, 3] filtered_activations = ablation.filter_activations_by_layers( self.activations, selected_layers, self.num_layers, bidirectional_filtering="backward") expected_output = np.concatenate([ self.layer_activations[s_l][:, self.num_neurons_per_layer // 2:] for s_l in selected_layers ], axis=1) np.testing.assert_array_almost_equal(filtered_activations, expected_output)