FullyConnectedLayer(32, weight_scale=0.125),
                          ActivationLayer('leakyReLU'),
                          FullyConnectedLayer(32, weight_scale=0.125),
                          ActivationLayer('leakyReLU'),
                          FullyConnectedLayer(6, weight_scale=0.17),
                          SoftmaxLayer()],
                         DataProvider(num_genres=6))

    neural_net.setup_layers((128, 599), (6, ))
    neural_net.init_params_from_file()

    genres = ['classical', 'metal', 'blues', 'disco', 'hiphop', 'reggae']

    for genre in genres:
        for layer_id in range(3):
            activations_for_test_data = neural_net.test_data_activations_for_conv_layer(
                layer_id + 1, genre)

            for result in activations_for_test_data:
                for filter_idx in range(result['filter_activations'].shape[0]):
                    x = np.arange(0, result['filter_activations'].shape[1], 1)
                    y = result['filter_activations'][filter_idx]

                    dir_path = './activations/6genres/conv_layer' + str(layer_id + 1) + '/filter' +\
                               str(filter_idx + 1)
                    if not os.path.exists(dir_path):
                        os.makedirs(dir_path)

                    plt.plot(x, y)
                    plt.gcf().set_size_inches(7.72903226, 1.6)
                    plt.axis('off')
                    plt.gca().set_axis_off()