summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/loss_reweight.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/loss_reweight.py b/src/loss_reweight.py
index 3274807..bcfdf07 100644
--- a/src/loss_reweight.py
+++ b/src/loss_reweight.py
@@ -53,7 +53,7 @@ def _weighted_loss(logits, y, mode, q_id, batch_k, V, device):
if mode == 'q':
w[y.view(-1) == q_id] = WEIGHT
elif mode == 'ctrl_random':
- g = torch.Generator(device=device).manual_seed(1000 + batch_k)
+ g = torch.Generator().manual_seed(1000 + batch_k) # CPU generator (randperm)
n_q = int((y == q_id).sum().item())
flat = torch.arange(y.numel(), device=device)
non_q = flat[y.view(-1) != q_id]
@@ -88,9 +88,10 @@ def train(mode, seed, max_iters, batch_size):
bs = batch_size
blk = args['block_size']
V = args['vocab_size']
- # identical minibatch order for every model: per-seed generator, fixed start
- g = torch.Generator(device=device).manual_seed(20260731 + seed)
- gval = torch.Generator(device=device).manual_seed(777 + seed)
+ # identical minibatch order for every model: per-seed CPU generator, fixed start
+ # (torch.randint does not accept CUDA generators on torch 2.4)
+ g = torch.Generator().manual_seed(20260731 + seed)
+ gval = torch.Generator().manual_seed(777 + seed)
def get_batch(split):
d = train_data if split == 'train' else val_data