2017-11-13 3 views
0

Ich versuche, ein Beispiel von ND Lewis zu reproduzieren: Neuronale Netze für die Zeitreihenanalyse mit R. Wenn ich das Gerät Argument enthalten erhalte ich die Fehlermeldung:Ausbildung MxNet: mx.mlp

Error in mx.opt.sgd(...) : 
    unused argument (device = list(device = "cpu", device_id = 0, device_typeid = 1)) 
In addition: Warning message: 
In mx.model.select.layout.train(X, y) : 
    Auto detect layout of input matrix, use rowmajor.. 

Wenn ich entfernen dieser Parameter, erhalte ich immer noch diese Warnung:

Warning message: 
In mx.model.select.layout.train(X, y) : 
    Auto detect layout of input matrix, use rowmajor.. 

Der Code ist:

library(zoo) 
library(quantmod) 
library(mxnet) 

# data 
data("ecoli", package = "tscount") 
data <- ecoli$cases 
data <- as.zoo(ts(data, start = c(2001, 1), end = c(2013, 20), frequency = 52)) 
xorig <- do.call(cbind, lapply((1:4), function(x) as.zoo(Lag(data, k = x)))) 
xorig <- cbind(xorig, data) 
xorig <- xorig[-(1:4), ] 

# normalization 
range_data <- function(x) { 
    (x - min(x))/(max(x) - min(x)) 
} 
xnorm <- data.matrix(xorig) 
xnorm <- range_data(xnorm) 

# test/train 
y <- xnorm[, 5] 
x <- xnorm[, -5] 
n_train <- 600 
x_train <- x[(1:n_train), ] 
y_train <- y[(1:n_train)] 
x_test <- x[-(1:n_train), ] 
y_test <- y[-(1:n_train)] 

# mxnet: 
mx.set.seed(2018) 
model1 <- mx.mlp(x_train, 
       y_train, 
       hidden_node = c(10, 2), 
       out_node = 1, 
       activation = "sigmoid", 
       out_activation = "rmse", 
       num.round = 100, 
       array.batch.size = 20, 
       learning.rate = 0.07, 
       momentum = 0.9 
       #, device = mx.cpu() 
) 
pred1_train <- predict(model1, x_train, ctx = mx.cpu()) 

Wie kann ich dieses Problem beheben?

Antwort