Exemplo n.º 1
0
    if np.abs(acc_1 - acc_2) < 0.03:
        flag = True
        return ter_dict, flag
    else:
        return f_dict, flag


if __name__ == '__main__':

    torch.manual_seed(Args.seed)

    C_iter, train_iter, test_iter, stats = data_utils.get_dataset(args=Args)
    # build global network
    G_net = Fed_Model()
    print(G_net)
    G_net.train()
    G_loss_fun = torch.nn.CrossEntropyLoss()

    # copy weights
    w_glob = G_net.state_dict()

    m = max(int(Args.frac * Args.num_C), 1)

    gv_acc = []

    net_best = None
    val_acc_list, net_list = [], []
    num_s2 = 0
    # training
    c_lists = [[] for i in range(Args.num_C)]
    for rounds in range(Args.rounds):