Spaces:
Sleeping
Sleeping
File size: 977 Bytes
0b81240 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import numpy as np
def entropy(proba):
return -np.sum(proba * np.log(proba + 1e-12), axis=1)
def sim_to_noisy(X, centroid):
Xn = X / (np.linalg.norm(X, axis=1, keepdims=True) + 1e-12)
cn = centroid / (np.linalg.norm(centroid) + 1e-12)
return np.dot(Xn, cn)
def sample_uncertainty(state, H_adj, n, exclude):
if n <= 0:
return []
idx = np.argsort(-H_adj)
return [i for i in idx if i not in exclude][:n]
def sample_diversity(state, n, exclude):
if n <= 0:
return []
d = np.linalg.norm(state.X_pool - state.train_centroid, axis=1)
idx = np.argsort(-d)
return [i for i in idx if i not in exclude][:n]
def sample_random(state, n, exclude):
if n <= 0:
return []
candidates = [i for i in range(len(state.X_pool)) if i not in exclude]
if not candidates:
return []
return list(np.random.choice(candidates, size=min(n, len(candidates)), replace=False)) |