Nothing
#' Note: consider PyTorch - like test schema
#' See: https://github.com/pytorch/pytorch/blob/master/test/distributions/test_distributions.py
#' TODO: add more unit tests
test_that("Poisson distribution - shape test", {
rate <- torch_randn(2, 3)$abs()$requires_grad_()
rate_1d <- torch_randn(1)$abs()$requires_grad_()
expect_equal(distr_poisson(rate)$sample()$size(), c(2, 3))
expect_equal(distr_poisson(rate_1d)$sample()$size(), 1)
expect_equal(distr_poisson(rate_1d)$sample(1)$size(), c(1, 1))
expect_equal(distr_poisson(2.0)$sample(2)$size(), c(2, 1))
})
test_that("Poisson distribution - log_prob", {
rate <- torch_randn(2, 3)$abs()$requires_grad_()
rate_1d <- torch_randn(1)$abs()$requires_grad_()
ref_log_prob <- function(idx, x, log_prob) {
l <- rate$view(-1)[idx]$detach()
l <- as.vector(as.array(l))
x <- as.vector(as.array(x))
expected <- ppois(x, l, log.p = TRUE)
expect_equal(log_prob, torch_tensor(expected))
}
check_log_prob(distr_poisson(rate), ref_log_prob)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.