reliability_setting)][iteration -
                                          1] = calc_expected_accuracy(
                                              ResiliNet_failout_rate_fixed,
                                              no_information_flow_map,
                                              reliability_setting,
                                              output_list,
                                              data=data,
                                          )
            # clear session so that model will recycled back into memory
            K.clear_session()
            gc.collect()
            del ResiliNet_failout_rate_fixed

    # calculate average accuracies for variable failout rate
    for reliability_setting in reliability_settings:
        ResiliNet_failout_rate_acc = average(
            output["Variable Failout 1x"][str(reliability_setting)])
        output_list.append(
            str(reliability_setting) + " Variable Failout 1x: " +
            str(ResiliNet_failout_rate_acc) + "\n")
        print(reliability_setting, "Variable Failout 1x:",
              ResiliNet_failout_rate_acc)

        ResiliNet_failout_rate_std = np.std(
            output["Variable Failout 1x"][str(reliability_setting)], ddof=1)
        output_list.append(
            str(reliability_setting) + " Variable Failout 1x std: " +
            str(ResiliNet_failout_rate_std) + "\n")
        print(
            str(reliability_setting),
            " Variable Failout 1x std:",
            ResiliNet_failout_rate_std,
Example #2
0
                    no_information_flow_map[tuple(
                        skip_hyperconnection_configuration)],
                    reliability_setting,
                    skip_hyperconnection_configuration,
                    output_list,
                    data,
                )
            K.clear_session()
            gc.collect()
            del weight_sesitivity

    for reliability_setting in reliability_settings:
        output_list.append(str(reliability_setting) + "\n")
        for skip_hyperconnection_configuration in skip_hyperconnection_configurations:
            output_list.append(str(skip_hyperconnection_configuration) + "\n")
            acc = average(output[model_name][str(reliability_setting)][str(
                skip_hyperconnection_configuration)])
            std = np.std(
                output[model_name][str(reliability_setting)][str(
                    skip_hyperconnection_configuration)],
                ddof=1,
            )
            # write to output list
            output_list.append(
                str(reliability_setting) + " " +
                str(skip_hyperconnection_configuration) + " accuracy: " +
                str(acc) + "\n")
            print(
                str(reliability_setting),
                str(skip_hyperconnection_configuration),
                "accuracy:",
                acc,
                Vanilla,
                Vanilla_no_information_flow_map,
                reliability_setting,
                output_list,
                data,
            )

        # clear session so that model will recycled back into memory
        K.clear_session()
        gc.collect()
        del DFG
        del ResiliNet
        del Vanilla
    # calculate average accuracies from all expected accuracies
    for reliability_setting in reliability_settings:
        ResiliNet_acc = average(output["ResiliNet"][str(reliability_setting)])
        DFG_acc = average(output["DFG"][str(reliability_setting)])
        Vanilla_acc = average(output["Vanilla"][str(reliability_setting)])

        output_list.append(
            str(reliability_setting) + " ResiliNet accuracy: " +
            str(ResiliNet_acc) + "\n")
        output_list.append(
            str(reliability_setting) + " DFG accuracy: " + str(DFG_acc) + "\n")
        output_list.append(
            str(reliability_setting) + " Vanilla accuracy: " +
            str(Vanilla_acc) + "\n")

        print(str(reliability_setting), "ResiliNet accuracy:", ResiliNet_acc)
        print(str(reliability_setting), "DFG accuracy:", DFG_acc)
        print(str(reliability_setting), "Vanilla accuracy:", Vanilla_acc)
                                              1] = calc_expected_accuracy(
                                                  hyperconnection_weight,
                                                  no_information_flow_map,
                                                  reliability_setting,
                                                  output_list,
                                                  data=data,
                                              )
                # clear session so that model will recycled back into memory
                K.clear_session()
                gc.collect()
                del hyperconnection_weight

    # calculate average accuracies
    for reliability_setting in reliability_settings:
        for weight_scheme in weight_schemes:
            hyperconnection_weight_acc = average(
                output[model_name][weight_scheme][str(reliability_setting)])
            output_list.append(
                str(reliability_setting) + str(weight_scheme) + " " +
                model_name + ": " + str(hyperconnection_weight_acc) + "\n")
            print(
                str(reliability_setting),
                weight_scheme,
                model_name,
                ":",
                hyperconnection_weight_acc,
            )

            hyperconnection_weight_std = np.std(
                output[model_name][weight_scheme][str(reliability_setting)],
                ddof=1)
            output_list.append(
                                                  model,
                                                  no_information_flow_map,
                                                  reliability_setting,
                                                  output_list,
                                                  data=data,
                                              )
                # clear session so that model will recycled back into memory
                K.clear_session()
                gc.collect()
                del model

    for reliability_setting in reliability_settings:
        for weight_scheme in weight_schemes:
            output_list.append(
                str(reliability_setting) + str(weight_scheme) + "\n")
            acc = average(
                output[model_name][weight_scheme][str(reliability_setting)])
            output_list.append(
                str(reliability_setting) + str(weight_scheme) + str(acc) +
                "\n")
            print(str(reliability_setting), weight_scheme, acc)

            std = np.std(
                output[model_name][weight_scheme][str(reliability_setting)],
                ddof=1)
            output_list.append(
                str(reliability_setting) + str(weight_scheme) + str(std) +
                "\n")
            print(str(reliability_setting), weight_scheme, std)
    save_output(output_name, output_list)
    print(output)