Skip to content

Fix PyTorch random.multinomial sequence inputs#2225

Merged
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-pytorch-multinomial-pvals-20260523
May 24, 2026
Merged

Fix PyTorch random.multinomial sequence inputs#2225
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-pytorch-multinomial-pvals-20260523

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

  • coerce PyTorch backend random.multinomial probability inputs to tensors before normalization
  • preserve tensor device placement when pvals is already a tensor
  • add backend-random regression coverage for Python probability sequences

Rationale

The NumPy and JAX random backends accept ordinary Python probability sequences for random.multinomial. The PyTorch backend assumed pvals was already a tensor and called .sum() directly, so portable code such as random.multinomial(12, [0.25, 0.75]) failed only under PYRECEST_BACKEND=pytorch.

Validation

  • connector compare confirms this branch is two commits ahead of current main and behind by zero
  • changes are limited to src/pyrecest/_backend/pytorch/random.py and tests/test_backend_random.py
  • direct local pytest execution was not available through the GitHub connector; PR CI should run the backend matrix

@FlorianPfaff FlorianPfaff enabled auto-merge (squash) May 24, 2026 07:22
@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 42.28s
✅ JSON prettier 7 0 0 0 0.96s
✅ JSON v8r 7 0 0 5.03s
⚠️ MARKDOWN markdownlint 66 0 2 0 1.81s
✅ MARKDOWN markdown-table-formatter 66 1 0 0 0.59s
✅ PYTHON black 758 2 0 0 34.55s
✅ PYTHON isort 758 2 0 0 2.14s
✅ REPOSITORY checkov yes no no 41.21s
✅ REPOSITORY gitleaks yes no no 15.89s
✅ REPOSITORY git_diff yes no no 0.1s
✅ REPOSITORY secretlint yes no no 20.94s
✅ REPOSITORY syft yes no no 4.63s
✅ REPOSITORY trivy-sbom yes no no 5.61s
✅ REPOSITORY trufflehog yes no no 21.45s
✅ YAML prettier 10 0 0 0 0.61s
✅ YAML v8r 10 0 0 10.37s
✅ YAML yamllint 10 0 0 0.4s

Detailed Issues

⚠️ MARKDOWN / markdownlint - 2 errors
.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"]
docs/backend-support.md:11:174 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]

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 merged commit 673778e into main May 24, 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