Learn R Programming

rnn (version 0.5.0)

predictr: Recurrent Neural Network

Description

predict the output of a RNN model

Usage

predictr(model, X, hidden = FALSE, ...)

Arguments

model
output of the trainr function
X
array of input values, dim 1: samples, dim 2: time, dim 3: variables (could be 1 or more, if a matrix, will be coerce to array)
hidden
should the function output the hidden units states
...
arguments to pass on to sigmoid function

Value

array or matrix of predicted values

Examples

Run this code
# create training numbers
X1 = sample(0:127, 7000, replace=TRUE)
X2 = sample(0:127, 7000, replace=TRUE)

# create training response numbers
Y <- X1 + X2

# convert to binary
X1 <- int2bin(X1)
X2 <- int2bin(X2)
Y  <- int2bin(Y)

# Create 3d array: dim 1: samples; dim 2: time; dim 3: variables.
X <- array( c(X1,X2), dim=c(dim(X1),2) )

# train the model
model <- trainr(Y=Y,
                X=X,
                learningrate   =  0.1,
                hidden_dim     = 10,
                start_from_end = TRUE )
             
# create test inputs
A1 = int2bin( sample(0:127, 7000, replace=TRUE) )
A2 = int2bin( sample(0:127, 7000, replace=TRUE) )

# create 3d array: dim 1: samples; dim 2: time; dim 3: variables
A <- array( c(A1,A2), dim=c(dim(A1),2) )
    
# predict
B  <- predictr(model,
               A     )
 
# convert back to integers
A1 <- bin2int(A1)
A2 <- bin2int(A2)
B  <- bin2int(B)
 
# inspect the differences              
table( B-(A1+A2) )

# plot the difference
hist(  B-(A1+A2) )

Run the code above in your browser using DataLab