n_batch = int((T - T % batch_size) / batch_size) batch_Y = np.split(Y[:T - T % batch_size], n_batch) batch_X = np.split(X[:T - T % batch_size], n_batch) initial_batches = 50 label_lag = 3 ### DDM in batch if args.model == 'ddm': train_X = X[:initial_batches * batch_size] train_Y = Y[:initial_batches * batch_size] first_undrift_index = initial_batches + 1 clf2 = classification_method(n_estimators=20) clf2.fit(train_X, train_Y) dd = DDM() warning_index = [] drift_list = [] prequential_acc = [] retraining_time = 0 total_retraining_samples = 0 total_added_samples = 0 ret_ind = [] for i in range(initial_batches + label_lag + 50, n_batch): prequential_acc.append(clf2.score(batch_X[i], batch_Y[i])) if dd.set_input(1 - clf2.score(batch_X[i - 3], batch_Y[i - 3])): start_time = time.time() print('CHANGE DETECTED at ' + str(i))
for i in range(50): data_s, target_s = next(dl_source) train_xs.append(data_s) train_ys.append(target_s) batch_size = 64 T = len(source_dataset) n_batch = int((T - T % batch_size) / batch_size) initial_batches = 50 label_lag = 3 train_clf(model_f, model_c, train_xs, train_ys, train_xt, train_yt, drift_num, optimizer_f, optimizer_c) first_undrift_index = initial_batches + 1 dd = DDM() warning_index = [] drift_list = [] prequential_acc = [] retraining_time = 0 total_retraining_samples = 0 total_added_samples = 0 ret_ind = [] previous_xs, previous_ys = [], [] previous_xt, previous_yt = [], [] no_drift_count = 0 if True: if True: drift_num = 10 _, target_dataset = get_dataset(task, drift_num)
for i in range(train_batch_num): data_s, target_s = image_batches.pop(0) train_xs.append(data_s) train_ys.append(target_s) train_xtogether.append(data_s) train_ytogether.append(target_s) previous_xtogether.append(data_s) previous_ytogether.append(target_s) train_clf(model_f, model_c, train_xs, train_ys) previous_xs, previous_ys = [], [] q1_list,q2_list,q3_list,qAE_list,qspn_list,qFS_list = [],[],[],[],[],[] dd = DDM(3,2) warning_index = [] dd_2 = DDM(3,2) warning_index_2 = [] dd_3 = DDM(3,2) warning_index_3 = [] dd_AE = DDM(3,2) warning_index_AE = [] dd_spn = DDM(3,2) warning_index_spn = [] dd_FS = DDM(3,2) warning_index_FS = [] q1_drift, q2_drift, q3_drift, qAE_drift,qspn_drift, qFS_drift = False, False, False, False, False, False first_training_index = sys.maxsize drift_1, drift_2, drift_3, drift_AE, drift_spn, drift_FS = [],[],[],[],[],[]