tensorflow / tensorflow/probability
Can't jit PoissonLogNormalQuadratureCompound log_prob
Open
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 4.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
If I try to jit the log_prob method of the PoissonLogNormalQuadratureCompound
from jax import jit
import tensorflow_probability.substrates.jax.distributions as tfd
jit(tfd.PoissonLogNormalQuadratureCompound(0.0, 1.0).log_prob)(1.)
I get the following error:
TypeError: Shapes must be 1D sequences of concrete values of integer type, got
Traced<ShapedArray(int32[1])>with<DynamicJaxprTrace(level=1/0)>.
operation a:i32[] = convert_element_type[new_dtype=int32 weak_type=False] b
from line [/var/folders/vr/x979b72d00jgztv5gxjgl5j00000gn/T/ipykernel_26756/1664260717.py:1](https://file+.vscode-resource.vscode-cdn.net/var/folders/vr/x979b72d00jgztv5gxjgl5j00000gn/T/ipykernel_26756/1664260717.py:1) (<module>)
operation a:i32[] = convert_element_type[new_dtype=int32 weak_type=False] b
from line [/var/folders/vr/x979b72d00jgztv5gxjgl5j00000gn/T/ipykernel_26756/1664260717.py:1](https://file+.vscode-resource.vscode-cdn.net/var/folders/vr/x979b72d00jgztv5gxjgl5j00000gn/T/ipykernel_26756/1664260717.py:1) (<module>)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the JAX jit failure with PoissonLogNormalQuadratureCompound.log_prob using the example in the issue. Trace the shape construction involved in that method and verify that the corrected path can be jitted without the concrete-shape error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, tensorflow
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100