initSess: Initialise TensorFlow session and sgmcmc algorithm

Description Usage Arguments Value Examples

View source: R/update.R

Description

Initialise the TensorFlow session and the sgmcmc algorithm. For algorithms with control variates this will find the MAP estimates of the log posterior and calculate the full log posterior gradient at this point. For algorithms without control variates this will simply initialise a TensorFlow session.

Usage

1
initSess(sgmcmc, verbose = TRUE)

Arguments

sgmcmc

an sgmcmc object created using *Setup e.g. sgldSetup, sgldcvSetup

verbose

optional. Default TRUE. Boolean specifying whether to print progress.

Value

sess a TensorFlow session, see the TensorFlow for R website for more details.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## Not run: 
# Simulate from a Normal Distribution, unknown location and known scale with uninformative prior
# Run sgmcmc step by step and calculate estimate of location on the fly to reduce storage
dataset = list("x" = rnorm(1000))
params = list("theta" = 0)
logLik = function(params, dataset) {
    distn = tf$distributions$Normal(params$theta, 1)
    return(tf$reduce_sum(distn$log_prob(dataset$x)))
}
stepsize = list("theta" = 1e-4)
sgld = sgldSetup(logLik, dataset, params, stepsize)
nIters = 10^4L
# Initialize location estimate
locEstimate = 0
# Initialise TensorFlow session
sess = initSess(sgld)
for ( i in 1:nIters ) {
    sgmcmcStep(sgld, sess)
    locEstimate = locEstimate + 1 / nIters * getParams(sgld, sess)$theta
}
# For more examples see vignettes

## End(Not run)

STOR-i/sgmcmc documentation built on Nov. 11, 2020, 6:32 p.m.