-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump DynamicPPL to 0.23 #2001
Merged
Merged
Bump DynamicPPL to 0.23 #2001
Changes from 16 commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
976e621
bump dppl test versions
torfjelde 4347bd9
also bump bijectors
torfjelde ee53d1c
bump AdvancedVI versions
torfjelde 384158f
revert Bijectors bump
torfjelde a258d54
bumped vi and bijectors too
torfjelde 75fe9c3
breaking change
torfjelde d02d2f5
Merge branch 'master' into torfjelde/dynamicppl-bump
torfjelde 06a2e7d
removed refernce to Bijectors.setadbackend
torfjelde 320af8c
Merge branch 'torfjelde/dynamicppl-bump' of github.com:TuringLang/Tur…
torfjelde d8f7086
Merge branch 'master' into torfjelde/dynamicppl-bump
torfjelde d1054ee
make use of DynamicPPL.make_evaluate_args_and_kwargs
torfjelde 1785cf7
bump DPPL version
torfjelde 6f4fecb
bump DPPL version for tests
torfjelde 149c3d6
fixed bug in TracedModel
torfjelde c6b4d28
forgot to remove some lines
torfjelde 2bafbc3
just drop the kwargs completely :(
torfjelde 36ae046
Update container.jl
yebai 55f8504
Update container.jl
yebai b007749
will now error if we're using a model with kwargs and SMC
torfjelde 6bf0980
added reference to issue
torfjelde b3f13a1
added test for keyword models failing
torfjelde 404882c
make this a breaking change
torfjelde 3c036eb
made error message more informative
torfjelde 56ce7f1
makde it slightly less informative
torfjelde 52071b0
fixed typo in checking for TRaceModel
torfjelde 0ed4f59
Merge branch 'master' into torfjelde/dynamicppl-bump
torfjelde 6f580fb
finally fixed the if-statement..
torfjelde 400915b
Fix test error
yebai 394d38d
fixed tests maybe
torfjelde 0eb9445
now fixed maybe
torfjelde 30ad2ff
Update test/inference/Inference.jl
torfjelde File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is bad.
See other comments on alternatives: #2001 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, so I've figured out why it breaks, but I think it's going to be difficult to fix it 😕
Libtask only handles nested
produce
in the case where each instruction it sees contains at most oneproduce
.This also makes me realize that Libtask.jl will also just silently do the wrong thing in certain cases where we use
@submodel
and the inner-model contains observations..There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And all of this effectively means that, with the current Libtask, we cannot support kwargs in a model with out converting it all to positional arguments..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this was a design decision -- it becomes very complicated to trace every function in a nested way. In theory, this can be fixed by adding
submodels
to the list of functions we need to trace into.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That could be a temporary hacky solution before @KDr2 and I add
submodels
to the list of functions we need to trace recursively.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We wanted to make the dependency light so
Libtask
is more stable for new Julia releases. Also, recursively unrolling will create unnecessarily large tape in most use cases, i.e. for SMC/PG, it has significant performance penalties.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's ok to ignore that for now.
It is very time-consuming to make this feature right if I remember the details correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd love to:) But this completely breaks SMC samplers for any model with kwargs 😕
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think your previous commit fixed all tests except the
new grammar
model.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it will run with all kwarg models but it will silently do the incorrect thing if the default kwargs are not the ones we're supposed to use. In this PR we currently just drop them completely, i.e. we end up using the default kwargs always.
I don't think this quite qualifies as good enough:/