|
import numpy as np |
|
|
|
def random_sampling(n_pool, idxs_lb, acc_idxs, rej_idxs, NUM_QUERY): |
|
curr_selected = np.concatenate((idxs_lb, acc_idxs), axis=0) |
|
curr_selected = np.concatenate((curr_selected, rej_idxs), axis=0) |
|
idxs_ulb = np.setdiff1d(np.arange(n_pool), curr_selected) |
|
selected = np.random.choice(idxs_ulb, size=NUM_QUERY, replace=False) |
|
return selected, np.ones(selected.shape[0]) |
|
|
|
def uncerainty_sampling(n_pool, idxs_lb, acc_idxs, rej_idxs, NUM_QUERY, uncertainty): |
|
curr_selected = np.concatenate((idxs_lb, acc_idxs), axis=0) |
|
curr_selected = np.concatenate((curr_selected, rej_idxs), axis=0) |
|
idxs_ulb = np.setdiff1d(np.arange(n_pool), curr_selected) |
|
uncertainty_ulb = uncertainty[idxs_ulb] |
|
idxs = np.argsort(uncertainty_ulb)[-NUM_QUERY:] |
|
scores = uncertainty_ulb[idxs] |
|
selected = idxs_ulb[idxs] |
|
return selected, scores |
|
|