pymc-devs / pymc-devs/pytensor

`SparseTensorVariable` should not subclass `TensorVariable`

Open
#1,677 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

beginner friendly help wanted request discussion sparse variables
Dominant language
Python
Stars
644
Forks
208
Avg merge
2d 14h
Merged PRs (30d)
16

Description

Description

This came up in the context of #1674. We should consider reverting https://github.com/aesara-devs/aesara/issues/142. Sparse matrices and dense tensor are conceptually different enough that it doesn't make sense for one to be a direct subclass of the other.

I think there is room for a new abstract superclass that could define a common API they both need to adhere to, but that would be beyond the scope of what this issue is asking for.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating SparseTensorVariable and TensorVariable and tracing the inheritance references affected by #1674. Review the context in #1674 and the linked Aesara issue #142 before changing the relationship. Done means SparseTensorVariable is no longer a direct subclass of TensorVariable while the existing common API remains accounted for.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.