Macros Julia中的@ad和@addr宏是什么?
我正在浏览Julia中的Gen模块示例,无意中发现了以下代码:Macros Julia中的@ad和@addr宏是什么?,macros,julia,julia-gen,Macros,Julia,Julia Gen,我正在浏览Julia中的Gen模块示例,无意中发现了以下代码: @compiled @gen function generate_datum(x::Float64, prob_outlier::Float64, noise::Float64, @ad(slope::Float64), @ad(intercept::Float64)) if @addr(bernoulli(prob_outlier), :is_outlier)
@compiled @gen function generate_datum(x::Float64, prob_outlier::Float64, noise::Float64,
@ad(slope::Float64), @ad(intercept::Float64))
if @addr(bernoulli(prob_outlier), :is_outlier)
(mu, std) = (0., 10.)
else
(mu, std) = (x * slope + intercept, noise)
end
return @addr(normal(mu, std), :y)
end
哪个扔
UndefVarError:@addr未定义
对于@ad也是一样,我怀疑这是一样的。作为一个新手,我对茱莉亚不熟悉,搜索并没有返回任何模糊的相关信息,我被卡住了。有人能帮忙吗?根据,您链接指向的文件不再是回购协议的一部分。那些宏被删除了,主分支反映了这一点!如果您想运行这些示例,您需要切换到较旧版本的Gen。我认为这些宏要么是在Gen中定义的,要么是其依赖项之一。我不确定。我已经安装了Gen和dependencies。依赖项列表是否可能随使用库的脚本而更改?我刚刚ping了作者,以便我可以为您查看一下!我将在回购协议上发行一期。在此处发行: