The way you defined your model, it assumes constant noise regardless of your output. If you want your model noise to vary, you will have to model that explicitly.
This expression does not depend on any of the inputs:
sigma = pm.HalfNormal('sigma',sd=0.1)