testthat::test_that("Check Initialisation", {
# We will follow other packages such as diffeqr and skip
# Julia related tests on CRAN
testthat::skip_on_cran()
# BayesFluxR_setup(installJulia = FALSE, env_path = ".", nthreads = 3)
test_setup(nthreads = 3)
expect_s3_class(JuliaCall::julia_eval("BayesFlux"), "JuliaObject")
expect_s3_class(JuliaCall::julia_eval("Flux"), "JuliaObject")
expect_s3_class(JuliaCall::julia_eval("Distributions"), "JuliaObject")
expect_s3_class(JuliaCall::julia_eval("Random"), "JuliaObject")
# This currently has a problem. The problem is in JuliaCall though
# and hence we stop testing it for now.
# TODO: wait until issue has been fixed in JuliaCall and start testing again
# expect_equal(JuliaCall::julia_eval("Threads.nthreads()"), 3)
})
testthat::test_that("Setting seed in R and Julia", {
# We will follow other packages such as diffeqr and skip
# Julia related tests on CRAN
testthat::skip_on_cran()
# BayesFluxR_setup(installJulia = FALSE, env_path = ".", nthreads = 3)
test_setup(nthreads = 3)
.set_seed(6150533)
rand_R = runif(1)
rand_Julia = JuliaCall::julia_eval("rand()")
.set_seed(6150533)
rand_R_2 = runif(1)
rand_Julia_2 = JuliaCall::julia_eval("rand()")
expect_equal(rand_R, rand_R_2)
expect_equal(rand_Julia, rand_Julia_2)
})
testthat::test_that("Network Chains", {
# We will follow other packages such as diffeqr and skip
# Julia related tests on CRAN
testthat::skip_on_cran()
# BayesFluxR_setup(installJulia = FALSE, env_path = ".", nthreads = 3)
test_setup(nthreads = 3)
ch = Chain(Dense(1, 1))
expect_equal(ch$specification, "Chain(Dense(1, 1, identity))")
ch = Chain(Dense(1, 10, "tanh"))
expect_equal(ch$specification, "Chain(Dense(1, 10, tanh))")
ch = Chain(RNN(1, 10))
expect_equal(ch$specification, "Chain(RNN(1, 10, sigmoid))")
ch = Chain(RNN(1, 10, "tanh"))
expect_equal(ch$specification, "Chain(RNN(1, 10, tanh))")
ch = Chain(LSTM(20, 1))
expect_equal(ch$specification, "Chain(LSTM(20, 1))")
ch = Chain(RNN(1, 10, "tanh"), LSTM(10, 20), Dense(20, 5, "relu"))
expect_equal(ch$specification, "Chain(RNN(1, 10, tanh), LSTM(10, 20), Dense(20, 5, relu))")
})
testthat::test_that("Create BNN", {
# We will follow other packages such as diffeqr and skip
# Julia related tests on CRAN
testthat::skip_on_cran()
# BayesFluxR_setup(installJulia = FALSE, env_path = ".", nthreads = 3)
test_setup(nthreads = 3)
x <- matrix(rnorm(100), nrow = 1)
y <- rnorm(100)
ch <- Chain(Dense(1, 1))
prior <- prior.gaussian(ch, 1.0)
like <- likelihood.feedforward_normal(ch, Gamma(2.0, 0.5))
init <- initialise.allsame(Normal(0, 10), like, prior)
bnn <- BNN(x, y, like, prior, init)
num_total_params <- JuliaCall::julia_eval(sprintf("%s.num_total_params", bnn$juliavar))
expect_equal(num_total_params, 3)
num_total_params <- BNN.totparams(bnn)
expect_equal(num_total_params, 3)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.