Как построить модель тензорного потока в керасе (R) для классификации по нескольким меткам? - PullRequest
1 голос
/ 09 мая 2019

Я хочу предсказать несколько меток с помощью модели Tensorflow с использованием керас в R.

Мои данные тренировок нацелены: num [1:535, 1:5]

Мои метки тренировочных данных (одна в горячем коде): num [1:535, 1:5, 1:2]

Если я использую следующую модель, которая работает для одной метки, для нескольких меток (в данном случае 5), я получаю сообщение об ошибке

Ошибка в py_call_impl(вызываемый, точки $ args, точки $ ключевые слова):
ValueError: Ошибка при проверке цели: ожидается, что плотность_43 имеет 2 измерения, но получен массив с формой (535, 5, 2)

model <- keras_model_sequential()
model %>% 
  layer_dense(units = 50, input_shape = c(measurements)) %>% 
  layer_dropout(0.9) %>%
  layer_dense(units = 2, activation = 'sigmoid')
model %>% compile(
  loss = 'binary_crossentropy',
  optimizer = "Nadam",
  metrics = 'accuracy')
history <- model %>% fit(
  data.training, data.trainLabels, 
  epochs = 10000, batch_size = 128, 
  view_metrics = FALSE, validation_split = 0.2)

Я пытался играть со вторыми единицами плотного слоя (я пробовал 5 для меток, 10 для меток x2, форму тензора и т. Д.), Но безрезультатно.

Как мне это нужноизменить мою модель, чтобы она могла предсказать все 5 меток?

...