tensorflow / tensorflow/probability

[Feature request] Numerical/memory efficient MC integration

Open
#181 22 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
4.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

As already discussed (with @dustinvtran) a while ago:
I guess there aren't currently any plans for either

  • numerical integration methods (Simpson, quadrature...)
  • ("memory efficient") (serialized) MC integration methods

If not, is it okay to create them and add to TFP?

Our use-case: we are currently building a fitting library for high-energy physics on top of TensorFlow (zfit), still in it's early stage. We need a lot of normalization integrals in there.

on the mc integration: the tfp.mc.expectation is already a nice function, but we would like to have a function that:

  1. can work serialized (so time vs. memory, being able to average over "infinitely" many samples)
    (2. probably already handles the scaling right (so "integration" instead of "expectation value"))
    But 2. has pretty low priority, 1. would be a need though.

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 reviewing the existing tfp.mc.expectation API and the requirements described for zfit. Clarify whether the first scope is serialized Monte Carlo integration, numerical integration methods, or both, and define the expected scaling and memory behavior. Done should mean an agreed API and tests demonstrating integration over many samples without retaining them all.

Written by the indexing model from the issue text.

Assessment

Tech stack
tensorflow
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.