R Keras объединяет две нейронные сети - PullRequest
0 голосов
/ 24 июня 2018

Мне нужно объединить две нейронные сети, как показано на рисунке ниже.Но я получаю следующее сообщение об ошибке:

Операция имеет тип float32, который не соответствует типу int32 аргумента

Как объединитьдве сети?

Исходный код:

layer1 <- layer_input(shape = c(MAX), dtype = "int32")
output_tensor <- layer1 %>%
    layer_dense(units = 32, activation = "relu") %>%
    layer_dense(units = 32, activation = "relu")

Framework example

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете сделать что-то вроде этого:

library(keras)

max_words <- 20
nb_words <- 1000

text_one_hot <- layer_input(nb_words)
text_as_int <- layer_input(max_words)

vec_1 <- text_one_hot %>%
  layer_dense(100)

vec_2 <- layer_embedding(
  input_dim = nb_words, output_dim = 128, 
  input_length = max_words
  ) %>%
  layer_lstm(128)

out <- layer_concatenate(list(vect_1, vec_2))

model <- keras_model(list(input_1, input_2))

Эта ссылка имеет похожий пример.

...