Esempio n. 1
0
    def run(folder):
        dataset = cifar100and20()

        expertf = Expert.linear
        gatef = Gate.one_hidden_layer
        all_num_experts = [20, 16, 12, 10, 8, 6, 4, 3, 2, 1]
        epochs = 20
        z_size = 20

        results = experiment_numE_loop(all_num_experts, dataset, epochs, gatef,
                                       expertf, folder)
        result2 = experiment_gatef_loop({"predesigned": Gate.predesigned},
                                        dataset, epochs, z_size, expertf,
                                        folder)
        plot.special_num_E_accuracy(
            results["acc"], result2["acc"]["predesigned"], z_size,
            folder + "numE_accuracy_with_additional_predesigned_gate.png")

        for number_of_experts, activation in results["class activation"].items(
        ):
            for i in range(number_of_experts):
                print("plot activation", i, "/", number_of_experts)
                plot.plot_activation_of_expert(
                    activation, i, folder + " expert %i-%i activation.png" %
                    (i, number_of_experts))
Esempio n. 2
0
    def run(folder):
        dataset = mixture_data()
        expertf = Expert.convolutional
        gates = {
            "no-gate": Gate.no_gate,
            "predesigned": Gate.predesigned,
            "linear": Gate.linear,
            "1-hidden": Gate.one_hidden_layer
        }
        epochs = 20
        num_experts = 2
        result = experiment_gatef_loop(gates, dataset, epochs, num_experts,
                                       expertf, folder)

        for gname, activation in result["class activation"].items():
            for i in [0, 1]:
                plot.plot_activation_of_expert(
                    activation, i,
                    folder + gname + " expert %i activation.png" % i)