У меня есть проблема, которая полностью поглощает меня весь день. Я полагаю, что есть простое решение вопроса…
Если я укажу переменную общего доступа theano для использования в модели pymc3, чтобы я мог l oop без повторного указания модели, кажется, начальное значение общей переменной влияет на результат. Если начальное значение слишком далеко от нового значения, я получаю «Производная от RV test1.ravel () [0] равна нулю». ошибка. Почему это ??
Смотрите мой код ниже. изменение значения nf на 10 или изменение нового значения на 100000 исправит ошибку…
def test():
nf = 10000000000000000000
sharednf = shared(nf)
with pm.Model() as model:
test = pm.Normal("test"+str(1), mu=sharednf, sd=1**100)
sum = test + 1
pm.Deterministic("sum"+str(1), sum)
for i in range(10):
sharednf.set_value(float(1))
with model:
trace = pm.sample(5000)
trace1 = trace
print(pm.summary(trace))
pm.traceplot(trace)
plt.show()