From cb3aa7b86477a5c6f620e975be90592b70feabf4 Mon Sep 17 00:00:00 2001 From: komaksym Date: Mon, 23 Jun 2025 11:37:46 +0200 Subject: [PATCH 1/2] remove solution and add starter code instead --- .../pytorch/starter_code.py | 25 +++---------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py b/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py index c881f619..d48f6370 100644 --- a/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py +++ b/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py @@ -9,25 +9,6 @@ def k_fold_cross_validation(X, y, k=5, shuffle=True) -> list[tuple[list[int], li shuffle: whether to shuffle indices before splitting Returns list of (train_idx, test_idx) pairs, each as Python lists of ints. """ - X_t = torch.as_tensor(X) - n_samples = X_t.size(0) - indices = torch.arange(n_samples) - if shuffle: - indices = indices[torch.randperm(n_samples)] - # compute fold sizes - base = n_samples // k - extras = n_samples % k - fold_sizes = [base + (1 if i < extras else 0) for i in range(k)] - # split into folds - folds = [] - start = 0 - for fs in fold_sizes: - folds.append(indices[start:start+fs].tolist()) - start += fs - # build train/test pairs - result = [] - for i in range(k): - test_idx = folds[i] - train_idx = [idx for j, f in enumerate(folds) if j != i for idx in f] - result.append((train_idx, test_idx)) - return result + # Your code here + pass + From e3d1f97916e67238f319a569db84be99686b2041 Mon Sep 17 00:00:00 2001 From: Maksym Koval <51376291+komaksym@users.noreply.github.com> Date: Fri, 10 Jul 2026 10:31:35 +0200 Subject: [PATCH 2/2] style: align PyTorch starter code with repository convention --- .../pytorch/starter_code.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py b/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py index d48f6370..6b0558c3 100644 --- a/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py +++ b/questions/18_implement-k-fold-cross-validation/pytorch/starter_code.py @@ -1,6 +1,9 @@ import torch -def k_fold_cross_validation(X, y, k=5, shuffle=True) -> list[tuple[list[int], list[int]]]: + +def k_fold_cross_validation( + X, y, k=5, shuffle=True +) -> list[tuple[list[int], list[int]]]: """ Return train/test index splits for k-fold cross-validation using PyTorch. X: Tensor or convertible of shape (n_samples, ...) @@ -10,5 +13,3 @@ def k_fold_cross_validation(X, y, k=5, shuffle=True) -> list[tuple[list[int], li Returns list of (train_idx, test_idx) pairs, each as Python lists of ints. """ # Your code here - pass -