Depends on what you want to do with the model. NUTS and find_MAP will struggle with transform=None because of the hard parameter constraints when transformations are not used.
And you want to evaluate the model logp at this mean? Or you just want the mean? If you want to use it as an input, you will have to transform it. We should probably add an option to disable transforms in compile_logp, to make this easier.
You can obtain the value variable that corresponds to each rv by doing model.rvs_to_values[rv]. You can then check the name of this variable.
import pymc as pm
with pm.Model() as m:
x = pm.Normal("x")
y = pm.HalfNormal("y")
z = pm.Normal("z", x, y, observed=0)
value_vars = [m.rvs_to_values[rv] for rv in m.free_RVs]
value_var_names = [v.name for v in value_vars]
value_var_transforms = [getattr(v.tag, "transform", None) for v in value_vars]
print(value_var_names)
print(value_var_transforms)
# ['x', 'y_log__']
# [None, <aeppl.transforms.LogTransform object at 0x7f78de2f01c0>]