--Enregistrer le modèle et le résultat créés à l'aide de pystan comme un fichier pickle
python
#l'écriture
with open('model.pkl', 'wb') as f:
pickle.dump(stm, f)
with open('fit.pkl', 'wb') as g:
pickle.dump(fit, g)
#Lis
stm = pickle.load(open(DATA_DIR + 'model_ForS.pkl', 'rb'))
fit = pickle.load(open(DATA_DIR + 'fit_ForS.pkl', 'rb'))
La modélisation statistique bayésienne par pystan est pratique, mais elle nécessite beaucoup de méthode de calcul. Cela dépend de l'article, mais la plupart d'entre eux prennent environ une heure. De plus, il arrive souvent que le calcul n'ait pas convergé.
Tant de gens veulent enregistrer le résultat calculé. Cela peut être écrit dans un livre de tutoriel, mais je pense que beaucoup de gens disent que ** les livres de Rstan sont tellement nombreux qu'ils ne savent pas comment sauver python **.
Donc dans cet article
Supposons que vous compiliez et échantillonniez avec pystan comme suit: Ici, le modèle est stocké dans stm et le résultat de l'échantillonnage est stocké dans fit.
python
model = """
data{
...
}
parameters{
...
}
model{
...
}
"""
stm = pystan.StanModel(model_code=model) #compiler
stan_data = {...}
fit = stm.sampling(data=stan_data) #échantillonnage
À ce stade, vous pouvez enregistrer et écrire en écrivant comme suit. C'était facile. Même si seul le résultat est enregistré, il ne peut pas être lu. Vous devez enregistrer le modèle avec. Je ne connais pas les détails, mais il semble que le résultat de l'échantillonnage soit lié au modèle.
python
#l'écriture
with open('model.pkl', 'wb') as f:
pickle.dump(stm, f)
with open('fit.pkl', 'wb') as g:
pickle.dump(fit, g)
#Lis
stm = pickle.load(open(DATA_DIR + 'model_ForS.pkl', 'rb'))
fit = pickle.load(open(DATA_DIR + 'fit_ForS.pkl', 'rb'))
Recommended Posts