Документация Engee

Использование 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)