Bayesian Lasso for multiple parameters

I have the following model with bayesian lasso prior, where y is of dimension Nx1, X is Nx3 and beta is 3x1.

with pm.Model() as blasso:

    # Blasso parameters
    lam = 2
    sig_1 = pm.math.sqrt(pm.InverseGamma(name="sig_1", alpha=3, beta=1, shape=()))
    sig_2 = pm.math.sqrt(pm.InverseGamma(name="sig_2", alpha=3, beta=1, shape=()))
    sig_3 = pm.math.sqrt(pm.InverseGamma(name="sig_3", alpha=3, beta=1, shape=()))

    # Slope
    beta_1= pm.Laplace(name="beta_1", mu=0.0, b=sig_1/lam, shape=())
    beta_2= pm.Laplace(name="beta_2", mu=0.0, b=sig_2/lam, shape=())
    beta_3= pm.Laplace(name="beta_3", mu=0.0, b=sig_3/lam, shape=())

    # Model error
    eps = pm.Gamma(name="eps", alpha=9.0, beta=4.0, shape=())

    # Model mean
    y_hat = pm.Deterministic(name="y_hat", var=beta_1*X[:, 0] + beta_2*X[:, 1] + beta_3*X[:, 2])

    # Likelihood
    y_like = pm.Normal(name="y_like", mu=y_hat, sigma=eps, observed=y)

However, this is very inefficiently written, as I have to specify each parameter separately.

Can I write the model in a more efficient way, something like this, without changing the implications?:

with pm.Model() as blasso:

    # Blasso parameters
    lam = 2
    sig = pm.math.sqrt(pm.InverseGamma(name="sig", alpha=3, beta=1, shape=3))

    # Slope
    beta= pm.Laplace(name="beta", mu=0.0, b=sig/lam, shape=3)

    # Model error
    eps = pm.Gamma(name="eps", alpha=9.0, beta=4.0, shape=())

    # Model mean
     y_hat = pm.Deterministic(name="y_hat", var=pm.math.dot(X, beta))

    # Likelihood
    y_like = pm.Normal(name="y_like", mu=y_hat, sigma=eps, observed=y)

I am not sure whether this is the same as the algorithm takes longer for sampling and does not converge with the same number of draws.