PyMC изменить бэкэнд после выборки

Я использовал PyMC для анализа некоторых данных физики высоких энергий. Это сработало до совершенства, анализ завершен, и мы работаем над документом.

У меня небольшая проблема, однако. Я запустил пробоотборник с RAM база данных Следы уже несколько месяцев хранятся в памяти в процессе ядра IPython. Проблема в том, что персонал службы поддержки рабочих станций хочет выполнить обновление ядра и перезагрузить эту рабочую станцию. Это заставит меня потерять следы. Я хотел бы сохранить эти следы (в отличие от просто создания новых), так как они - то, с чем я сделал все заговоры. Я также хотел бы включить часть следов (только интересующие параметры) в качестве дополнительного материала в публикацию.

Можно ли взять существующую цепочку в pymc.MCMC объект, созданный с RAM бэкэнд, перейти на другой бэкэнд и записать следы в цепочке?

1 ответ

Решение

Значения трассировки хранятся в виде массивов NumPy, поэтому вы можете использовать numpy.savetxt отправить значения каждого параметра в файл. (Это то, что делает текстовый бэкэнд под капотом.)

Хотя сохранение текущих следов является хорошей идеей, я бы посоветовал уделить время повторению анализа перед публикацией.

Другие вопросы по тегам