I have a model that I am creating using pymc.Lambda. Depending upon the context, it can have a variable number of parameters, so I have packed them into an argument list, so the construction of the deterministic looks something like
This works as expected in 2.3.6, but when I was testing 2.3.7.rc1 I got the error
ValueError: name: All arguments to lam_fun must have default values.
So far as I can tell, the problem is due to this change, where arguments with the names args and kwds are special-cased.
I fixed my problem by renaming the lambda argument, but only after some digging. Is there perhaps another way to do this that doesn't rely on special argument names? If not, perhaps we can add a warning to the docstring for Lambda?
I have a model that I am creating using
pymc.Lambda
. Depending upon the context, it can have a variable number of parameters, so I have packed them into an argument list, so the construction of the deterministic looks something likeThis works as expected in 2.3.6, but when I was testing 2.3.7.rc1 I got the error
So far as I can tell, the problem is due to this change, where arguments with the names
args
andkwds
are special-cased.I fixed my problem by renaming the lambda argument, but only after some digging. Is there perhaps another way to do this that doesn't rely on special argument names? If not, perhaps we can add a warning to the docstring for
Lambda
?