2016-10-26 6 views
0

Вот голый кусок кода, который выдает ошибку:PyMC: Непосредственно изменения имени объекта не применяется при извлечении следов

import pymc 
import numpy as np 

a = pymc.Normal('a', 1, 1) 
b = np.empty(4, dtype=object) 

for i in range(4): 
    b[i] = 1*a 
    b[i].__name__ = 'b_%i'%i 

M = pymc.MCMC([a,b]) 
M.sample(10) 
M.trace('b_0')  # Causes a KeyError:'b_0' 

Я не понимаю, почему я получаю KeyError: 'b_0' когда я пытаюсь для извлечения следа b_0 и всех остальных букв. Сохраняются ли следы? Если это так, есть ли способ прямо щелкнуть какой-то переключатель, чтобы изменить это, не создавая объект с помощью @deterministic.

ответ

0

Я просмотрел его, видимо, след не был сохранен. Кроме того, «переменная флагов» для сохранения следа не является .trace, это .keep_trace

 Смежные вопросы

  • Нет связанных вопросов^_^