Skip to content

Fix PyTorch random.choice population handling#2208

Merged
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-pytorch-random-choice-population-20260523
May 23, 2026
Merged

Fix PyTorch random.choice population handling#2208
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-pytorch-random-choice-population-20260523

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

  • normalize PyTorch random.choice populations so Python integer and list inputs match the NumPy/JAX backend contract
  • continue supporting tensor populations and tensor/list probabilities by moving probability inputs to the sampled tensor device
  • add backend-random regression coverage for Python list and integer populations

Rationale

The NumPy and JAX backend random.choice helpers accept NumPy-compatible populations such as 5 and [10, 20, 30]. The PyTorch backend previously asserted that a was already a tensor, so otherwise portable code failed only under PyTorch.

Validation

  • connector compare confirms the branch is ahead of main by two commits, behind by zero, and changes only src/pyrecest/_backend/pytorch/random.py and tests/test_backend_random.py
  • local PyTorch smoke test of the patched choice logic with list, integer, and tensor populations
  • local repository checkout/pytest execution was not possible here because the execution sandbox could not resolve github.com; PR CI should run the backend test matrix

@github-actions
Copy link
Copy Markdown
Contributor

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 53.88s
✅ JSON prettier 7 0 0 0 0.81s
✅ JSON v8r 7 0 0 5.72s
⚠️ MARKDOWN markdownlint 66 0 1 0 1.78s
✅ MARKDOWN markdown-table-formatter 66 0 0 0 0.67s
✅ PYTHON black 755 6 0 0 40.67s
✅ PYTHON isort 755 6 0 0 3.3s
✅ REPOSITORY checkov yes no no 38.11s
✅ REPOSITORY gitleaks yes no no 14.98s
✅ REPOSITORY git_diff yes no no 0.11s
✅ REPOSITORY secretlint yes no no 23.88s
✅ REPOSITORY syft yes no no 3.89s
✅ REPOSITORY trivy-sbom yes no no 6.85s
✅ REPOSITORY trufflehog yes no no 22.92s
✅ YAML prettier 10 0 0 0 0.72s
✅ YAML v8r 10 0 0 12.52s
✅ YAML yamllint 10 0 0 0.5s

Detailed Issues

⚠️ MARKDOWN / markdownlint - 1 error
.github/pull_request_template.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Summary"]

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.5.0 --custom-flavor-setup --custom-flavor-linters PYTHON_BLACK,PYTHON_ISORT,COPYPASTE_JSCPD,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@FlorianPfaff FlorianPfaff enabled auto-merge (squash) May 23, 2026 17:38
@FlorianPfaff FlorianPfaff merged commit b3da098 into main May 23, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant