1
我想使用相同的pymc3模型來適應許多(~100)數據集。由於我找不到重複使用模型的方法,因此我創建了新模型。這是基本的代碼:樣本與多組數據相同的模型
for i in range(100):
Y = data[i]
mod = pm.Model()
with mod:
p = pm.Uniform('p',lower=0.1,upper=3 ,testval=2)
Y_obs = pm.Binomial('Y_obs',n=100,p=z,observed=Y)
err = 1
try:
trace = pm.sample(5000)
err = 0
result.append(trace)
del mod
if err == 0:
del trace
使用這種方法的過程中隨着時間變得更慢,我的內存使用量的接縫增加,直到它似乎充滿了其中最有可能是慢下來的原因。
有沒有更好的方法來適應不同的數據集相同的模型?