2017-09-29 4 views
0

Ich versuche, die Gewichte für ein Netzwerk mit 1 Eingabeknoten (plus einen Bias-Knoten) und 2 Knoten in der versteckten Ebene manuell festzulegen. Wie kann ich das machen?Wie kann ich die Gewichte angeben, die in einem Keras-Modell (in R) verwendet werden?

Starter Code:

library(keras) 

model <- keras_model_sequential() 

wts = list(matrix(c(1, 1), ncol=1), matrix(c(1, 1), ncol=1)) 
model <- layer_dense(
    object = model, input_shape = 1L, use_bias = TRUE, units = 2L, activation = 'sigmoid', 
    weights = wts 
) 

Das gibt "Valueerror: Schichtgewicht Form (1, 2) nicht kompatibel mit vorgesehenem Gewicht Form (2, 1)"

Antwort

0

Es scheint den Trick, um dies zu machen Arbeit ist es, ein Array zu verwenden, um die Bias-Gewichte anzugeben.

model <- keras_model_sequential() 
wts = list(matrix(c(1, 1), nrow=1), array(c(1, 1))) 
model <- layer_dense(
    object = model, input_shape = 1L, use_bias = TRUE, units = 2L, activation = 'sigmoid', weights = wts 
) 

get_weights(model) 
[[1]] 
    [,1] [,2] 
[1,] 1 1 

[[2]] 
[1] 1 1 
Verwandte Themen