Построение модели прогноза в R studio с помощью keras - PullRequest
1 голос
/ 29 октября 2019

Я пытаюсь построить модель прогнозирования через тензор потока Кераса в R studio, но получаю ошибку, как показано ниже. Просьба у кого-нибудь есть подсказка? Я впервые использую Keras или глубокое обучение, а также R. Пожалуйста, помогите мне и предложите изменения. Спасибо, приятель!

библиотека (керас)

train_data <-read.csv (file = "trialtrainfinal.csv", head = FALSE) <br>test_data <-read. csv (file = "trialtest.csv", head = FALSE) <br>train_targets <-read.csv (file = "traintarget.csv", head = FALSE) </p>

mean <- применить (train_data, 2, среднее) <br>std <- применить (train_data, 2, sd) <br>train_data <- шкала (train_data, центр = среднее значение, шкала = std) <br>test_data <- шкала (test_data, центр = среднее значение, шкала= std) </p>

build_model <- function () {<br> + model <- keras_model_sequential ()%>%
+ layer_dense (единиц = 64, активация = "relu",
+ input_shape= dim (train_data) [[2]])%>%
+ layer_dense (единицы = 64, активация = "relu")%>%
+ layer_dense (единицы = 1)
+
+ model%>% compile (
+ optimizer = "rmsprop",
+ loss = "mse",
+ metrics = c ("mae")
+)
+}

k <- 4 <br>indexs <- sample (1: nrow (train_data)) <br>folds <- cut (1: длина (index)), breaks = k, метки = FALSE) <br>num_epochs <- 100 <br>all_scores <- c () <br>для (i в 1: k) {
+ cat ("обработка fold #", i, "\ n")
+ val_indices <- which (folds == i, arr.ind = TRUE) <br>+ val_data <- train_data [val_indices,] <br>+ val_targets <- train_targets [val_indices,] <br>+
+
+partal_train_data <- train_data [-val_indices,] <br>+partal_train_targets <- train_targets [-val_indices] <br>+
+
+ модель <- build_model () <br>+
+
+ модель%>% соответствия (part_train_data ,partal_train_targets,
+ эпохи = num_epochs, batch_size = 1, подробный = 0)
+
+
+ результаты <- модель%>%valuate (val_data, val_targets, verbose = 0)
+ all_scores <- c (all_scores, results $ mean_absolute_error) +} <br>обработка сгиба # 1
Ошибка в py_call_impl (вызываемый, точки $, аргументы, точки $)ключевые слова): ValueError: Нет данных для "density_5". Нужны данные для каждого ключа в: ['dens_5']

Подробная трассировка: файл "E: \ Anaconda \ envs \ r-reticulate \ lib \ site-packages \ tenorflow_core \ python \ keras \ engine\ training.py ", строка 728, в нужном случае use_multiprocessing = use_multiprocessing) Файл" E: \ Anaconda \ envs \ r-reticulate \ lib \ site-packages \ensorflow_core \ python \ keras \ engine \ training_v2.py ", строка 224,в соответствии с подходом distribution_strategy = стратегии) ​​Файл "E: \ Anaconda \ envs \ r-reticulate \ lib \ site-packages \ tenorsflow_core \ python \ keras \ engine \ training_v2.py", строка 547, в _process_training_inputs use_multiprocessing = use_multiprocessing) Файл "E: \ Anaconda \ envs \ r-reticulate \ lib \ site-packages \ tenorflow_core \ python \ keras \ engine \ training_v2.py ", строка 594, в _process_inputs steps = steps) Файл" E: \ Anaconda \ envs \ r-reticulate "\ lib \ site-packages \ tenorflow_core \ python \ keras \ engine \ training.py ", строка 2519, в _standardize_user_data exception_prefix = 'target') Файл" E: \ Anaconda \ envs \ r-reticul

КогдаЯ использую команду "Сводка (модель)", я получаю следующиерезультаты крыла: Модель: «последовательный»


Слой (тип) Форма выходного параметра Параметр #

плотный (Плотный) (Нет, 64) 896


dens_1 (плотный) (None, 64) 4160


density_2 (Плотный) (Нет, 1) 65

Всего параметров: 5,121 Обучаемые параметры: 5,121 Необучаемые параметры: 0


Ошибка в py_call_impl (вызываемой), точки $ args, точки $ ключевые слова): ValueError: Нет данных для "density_2". Нужны данные для каждого ключа: ['dens_2']

1 Ответ

0 голосов
/ 29 октября 2019

Учитывая сообщение об ошибке, это говорит о том, что данные, которые вводятся в модель, заполнены неправильно. Возможно, вы захотите подтвердить, что части_частичные_частные и частичные_разделы на самом деле имеют значения и согласуются друг с другом с точки зрения формы и т. Д., А также того, что сеть ожидает в зависимости от проекта. Должна быть команда, которую вы можете использовать наподобие model.summary () сразу после шага построения модели, которая возвращает сетевую архитектуру в терминах форм / измерений данных. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...