Проблема с общими переменными в PYMC3 theano - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть проблема, которая полностью поглощает меня весь день. Я полагаю, что есть простое решение вопроса…

Если я укажу переменную общего доступа 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()
...