Skip to content

Pretty printing of Turing models #91

@DominiqueMakowski

Description

@DominiqueMakowski

I am trying to use TuringGLM to better learn Turing, and so I wrote the simplest LM and would like to re-write that in Turing.

using RDatasets
using TuringGLM

data = RDatasets.dataset("datasets", "mtcars")

fm = @formula(MPG ~ WT)
model = turing_model(fm, data)
model
DynamicPPL.Model{TuringGLM.var"#normal_model#19"{Int64,Int64,CustomPrior},(:y, :X, :predictors, :μ_X, :σ_X, :prior, :residual),(:predictors, :μ_X, :σ_X, :prior, :residual),(),Tuple{Vector{Float64},Matrix{Float64},Int64,Int64,Int64,CustomPrior,Float64},Tuple{Int64,Int64,Int64,CustomPrior,Float64},DynamicPPL.DefaultContext}(TuringGLM.var"#normal_model#19"{Int64,Int64,CustomPrior}(0, 1, CustomPrior(TDist{Float64}(ν=3.0), LocationScale{Float64,Continuous,TDist{Float64}}(
                μ:19.2σ:5.411498097545447ρ:TDist{Float64}(ν=3.0)
            ), nothing), Core.Box(TuringGLM.var"#normal_model#18#20"(Core.Box(TuringGLM.var"#normal_model#19"{Int64,Int64,CustomPrior}())))), (y=[21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2 … 15.2, 13.3, 19.2, 27.3, 26.0, 30.4, 15.8, 19.7, 15.0, 21.4], X=[2.62; 2.875…3.57; 2.78;;], predictors=1, μ_X=0, σ_X=1, prior=CustomPrior(TDist{Float64}(ν=3.0), LocationScale{Float64,Continuous,TDist{Float64}}( #= circular reference @-4 =#
                μ:19.2σ:5.411498097545447ρ:TDist{Float64}(ν=3.0)
            ), nothing), residual=6.026948052089105), (predictors=1, μ_X=0, σ_X=1, prior=CustomPrior(TDist{Float64}(ν=3.0), LocationScale{Float64,Continuous,TDist{Float64}}(
                μ:19.2σ:5.411498097545447ρ:TDist{Float64}(ν=3.0)
            ), nothing), residual=6.026948052089105), DynamicPPL.DefaultContext())

Unfortunately, I can't get my head around this output to format in a standard Turing syntax. Is there a way to "pretty-print" or format the Turing model call? Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions