Hi, I am a bit confused that how to keep sigma positive when we estimate the sigma like below pyro docu. (https://pyro.ai/examples/bayesian_regression.html) using AutoDiagonalNormal. In my opinion, only making prior of sigma~U(0,1) cannot keep the posterior positive. Should we use trunc.norm guide or other? Thank you very much!

from pyro.nn import PyroSample

class BayesianRegression(PyroModule):

definit(self, in_features, out_features):

super().init()

self.linear = PyroModule[nn.Linear](in_features, out_features)

self.linear.weight = PyroSample(dist.Normal(0., 1.).expand([out_features, in_features]).to_event(2))

self.linear.bias = PyroSample(dist.Normal(0., 10.).expand([out_features]).to_event(1))`def forward(self, x, y=None): sigma = pyro.sample("sigma", dist.Uniform(0., 10.)) mean = self.linear(x).squeeze(-1) with pyro.plate("data", x.shape[0]): obs = pyro.sample("obs", dist.Normal(mean, sigma), obs=y) return mean`