Learn R Programming

LBBNN (version 0.1.2)

predict.LBBNN_Net: Obtain predictions from the variational posterior of an LBBNN model

Description

Draw from the (variational) posterior distribution of a trained LBBNN_Net object.

Usage

# S3 method for LBBNN_Net
predict(
  object,
  newdata,
  mpm = FALSE,
  draws = 10,
  device = "cpu",
  link = NULL,
  ...
)

Value

A torch::torch_tensor of shape (draws,N,C) where N is the number of samples in newdata, and C the number of outputs.

Arguments

object

A trained LBBNN_Net object

newdata

A torch::dataloader object containing the data with which to predict.

mpm

logical, whether to use the median probability model.

draws

integer, the number of samples to draw from the posterior.

device

character, device for computation (default = "cpu").

link

Optional link function to apply to the network output. Currently not implemented.

...

further arguments passed to or from other methods.

Examples

Run this code
# \donttest{ 
x<-torch::torch_randn(3,2) 
b <- torch::torch_rand(2)
y <- torch::torch_matmul(x,b)
train_data <- torch::tensor_dataset(x,y)
train_loader <- torch::dataloader(train_data,batch_size = 3,shuffle=FALSE)
problem<-'regression'
sizes <- c(2,1,1) 
inclusion_priors <-c(0.9,0.2) 
inclusion_inits <- matrix(rep(c(-10,10),2),nrow = 2,ncol = 2)
stds <- c(1.0,1.0)
model <- LBBNN_Net(problem,sizes,inclusion_priors,stds,inclusion_inits,flow = FALSE,
input_skip = TRUE)
train_LBBNN(epochs = 1,LBBNN = model, lr = 0.01,train_dl = train_loader)
predict(model,mpm = FALSE,newdata = train_loader,draws = 1)
# }

Run the code above in your browser using DataLab