Использование DynamicHMC
Turing поддерживает использование DynamicHMC в качестве сэмплера с помощью функции DynamicNUTS
.
Чтобы использовать функцию DynamicNUTS
, необходимо импортировать пакет DynamicHMC
, а также Turing. Для Turing формально не требуется DynamicHMC
, но если присутствуют оба пакета, он будет включать дополнительную функциональность.
Вот краткий пример применения DynamicNUTS
:
# Импортируем Turing и DynamicHMC.
using DynamicHMC, Turing
# Определение модели.
@model function gdemo(x, y)
s² ~ InverseGamma(2, 3)
m ~ Normal(0, sqrt(s²))
x ~ Normal(m, sqrt(s²))
y ~ Normal(m, sqrt(s²))
end
# Получаем 2000 образцов с помощью DynamicNUTS.
chn = sample(gdemo(1.5, 2.0), DynamicNUTS(), 2000)