GithubHelp home page GithubHelp logo

Comments (2)

wyli avatar wyli commented on August 16, 2024

(cc @ericspod @john-zielke-snkeos follow-up of the discussions in #6854, self.R and RandomState is currently preferred over np.random.*, this ticket is to track the issue.
e.g. preferred usage:

rs: np.random.RandomState = np.random.random.__self__ if random_state is None else random_state # type: ignore
)

from monai.

ericspod avatar ericspod commented on August 16, 2024

If we wanted to first change the usages of np.random.* to use a RandomState then migrate in the future to Generator we could do the following:

  • Change the usage of np.random.* in transforms to use self.R. This will change some expected deterministic behaviour but would be more reproducible.
  • In other places in core change routines to accept a RandomState object as an argument and use that, defaulting to np.random if none is provided. This would cover most use cases with minimal addition. @wyli 's code snippet is probably the technique to use for this.
  • In apps/* and auto3dseg ask contributors what they would want to do, mentioning we're trying to tighten up the implementation with an eye to future migration.

We do need to have a more considered discussion about what to do about migration at some point, either we move to Generator or we do implement our own class to replace RandomState usage.

from monai.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.