Skip to content

Contributing for an absolute beginner? #1273

Closed
@mikeevmm

Description

@mikeevmm

Hello all,

I have recently implemented the bounded version of the L-BFGS-B in (a local copy of) Tensorflow Probability.

It's not a blazing fast implementation (it is outright hacky in some places --- e.g., how it calculates M for different histories), and I had to reduce scope in order to manage (I assumed the inputs were float32, and there was only one batching dimension; this fit my use case well). Despite this, L-BFGS-B is incredibly useful when employed in, e.g., periodic functions, and the code behaves correctly; it correctly converges for a high-dimensional quadratic surface as well as for a Rosenbrock surface (with a sufficiently large "box"), but converges to the same wrong minimum as the original Fortran implementation ((5., 5.)) when considering the Rosenbrock function and bounds [(5, 20), (-10, 5)].

I'd like to contribute this implementation to TensorFlow Probability, but I've read the CONTRIBUTING.md page (and related links) and am still at a lost. My main concerns are the following:

  1. Do I have to support arbitrary dtypes and arbitrary batching dimensions?
  2. Since I am not contributing a new module but would rather be putting the code into the optimizer module, how does this affect the recommendations?

It's also fairly difficult to grapple with all the information in CONTRIBUTING.md without being familiar with TensorFlow's internals. Is it possible to request a code review so I have something to go off of?

Thanks in advance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions