Normal distribution throws errors when using shared variables

As a workaround for now, you can assign a test value to Normal:

    d = pm.Normal('d', mu=product_mu_shared, sd=product_sd, testval=0.)

FYI, you cannot put observed in a Deterministic node.