Git Product home page Git Product logo

Comments (7)

CamDavidsonPilon avatar CamDavidsonPilon commented on June 11, 2024 4

Hi @pabloazurduy,

  1. Comments like "the "migration guide" it's a joke." are not productive, and infact offensive to the authors of that content. Do you agree?
  2. A lot has changed in PyMC3 since this book was written, so yes, things are out-of-date. This is a common problem in software. Part of a developers job is determining the best path forward, given this problem.
  3. Chapters may need to be rewritten completely, or removed altogether.

I appreciate your efforts in porting content to use PyMC4 (it's a great learning exercise I'm sure). There's lots of freedom in how to port it, too, and I'm open to suggestions and PRs on how it's done.

from probabilistic-programming-and-bayesian-methods-for-hackers.

twiecki avatar twiecki commented on June 11, 2024 2

Yeah, the modeling API is mostly intact but otherwise things definitely changed, and this great book definitely teachers more than just the modeling API. A more comprehensive migration guide is definitely required. For now, you can read https://github.com/pymc-devs/pymc/blob/main/RELEASE-NOTES.md#pymc-400 to get some pointers.

from probabilistic-programming-and-bayesian-methods-for-hackers.

twiecki avatar twiecki commented on June 11, 2024 1

@CamDavidsonPilon Thanks!

is it correct that there's not yet a beta release for pymc v4?

Correct, but we'll release the beta today or tomorrow.

from probabilistic-programming-and-bayesian-methods-for-hackers.

CamDavidsonPilon avatar CamDavidsonPilon commented on June 11, 2024

4.0! Congrats!

I'd like to invite any motivated volunteers watching to help port examples over (ideally entire chapters at a time). @twiecki is it correct that there's not yet a beta release for pymc v4?

from probabilistic-programming-and-bayesian-methods-for-hackers.

twiecki avatar twiecki commented on June 11, 2024

Beta is out if someone wants to take this on!

from probabilistic-programming-and-bayesian-methods-for-hackers.

pabloazurduy avatar pabloazurduy commented on June 11, 2024

Hi!
(I bought the book a few months ago) I'm struggling with translating the code from Chapter 2 to the PYMC4 standard. Almost all Chapter2 is useless, the "migration guide" it's a joke. In the PYMC docs claiming that "Yes, you can just keep your existing PyMC modeling code without having to change anything (in most cases) and get all the improvements for free" seems like or either this book is too outdated vs the last version of PYMC3 (even the online version "ported to PYMC3") or the statement is false. Some of the issues that I found:

    print("parameter.value =", parameter.value)

.value does not exist anymore

the models are no longer declared as in the example:

     import pymc as pm


     parameter = pm.Exponential("poisson_param", 1)
     data_generator = pm.Poisson("data_generator", parameter)
     data_plus_one = data_generator + 1
tau.random()

.random() method does not exist anymore

etc etc, TBH I'm trying to re-write the code on this chapter, but it seems not only that the API has changed completely like I think is better to re-write the chapter using this "new library" or the missing methods are available somewhere but the documentation it's just not giving any hint. Am I missing something? is this chapter that outdated?

Thanks !

from probabilistic-programming-and-bayesian-methods-for-hackers.

pabloazurduy avatar pabloazurduy commented on June 11, 2024

hey @CamDavidsonPilon,
Thanks for the fast replay! 😊

  1. The API changed a LOT from what I can tell, maybe it has major changes between versions of PYMC3 (that will explain that "migration guide"). I was not aware of that, but that will make sense. Didn't want to sound disrespectful, just being sarcastic there.
  2. that's probably the reason behind (1), although I think the "changes" on the interface of the library have been massive, a sample of that is that almost all snippets on this book don't work anymore, and because I have the printer version on my hands I can tell that is not infrequent with PYMC. As you mention that's common in software, however, I must argue that this level of changes (3 completely different interfaces in 2 versions seems kind of an exception rather than a rule). Anyway, this is under PYMC dev guidelines, not sure if there's anything that we can do about it (except /rant about it). my frustration comes from the lack of guides on these changes or documentation in the library itself, probably one of the reasons behind writing a book about it, I can't even know if some methods are completely gone or replaced by other methods.

3+end. I will be more than happy to help, I was trying too! and then I realized that either, you know how to use PYMC3 and then learn how to port it to PYMC4, or you know PYMC4 and write a chapter about it, I think I don't belong to either of those groups 😂😂 (That's why I bought the book on the first place). I found the migration guide, but not very helpful, maybe there is a PYMC3 v1.0 to migration guide somewhere ?. Anyway, thanks for the context, and sorry to sound rude (not my intention ! )

from probabilistic-programming-and-bayesian-methods-for-hackers.

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.