Rstudio: ошибка в Keras при использовании бэкэнда Theano во время функции Model.fit - PullRequest
0 голосов
/ 18 апреля 2020

У меня возникает проблема, когда я делаю LSTM с использованием Keras с бэкэндом Theano в Rstudio. Часть моих кодов, которые я использовал, выглядит следующим образом:

regressor <- keras_model_sequential()

#Adding the first LSTM layer and some dropout regularization
regressor %>% 
  layer_dense(units=50,activation = 'relu', 
              input_shape = c(dim(X_train1)[2])) %>% 
  layer_dropout(rate = 0.2) %>% 
  #2nd layer
  layer_dense(units = 50, activation = 'relu') %>%
  layer_dropout(rate = 0.2) %>%
  #3rd layer
  layer_dense(units = 50, activation = 'relu') %>%
  layer_dropout(rate = 0.2) %>%
  #4th Layer
  layer_dense(units = 50, activation = 'relu') %>%
  layer_dropout(rate = 0.2) %>%
  #Output
  layer_dense(units = 1)

#Compiling the RNN  
regressor %>% compile(
  loss = 'mean_squared_error',
  optimizer = optimizer_adam(),
  #metrics = c('accuracy')
  metrics = list("mean_absolute_error")
)

Используя бэкэнд "theano", я получил следующее предупреждение

Using Theano backend.
WARNING (theano.configdefaults): g++ not available, if using conda: `conda install m2w64-toolchain`
C:\Users\Administrator\Anaconda2\lib\site-packages\theano\configdefaults.py:560: UserWarning: DeprecationWarning: there is no c++ compiler.This is deprecated and with Theano 0.11 a c++ compiler will be mandatory
  warnings.warn("DeprecationWarning: there is no c++ compiler."
WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to execute optimized C-implementations (for both CPU and GPU) and will default to Python implementations. Performance will be severely degraded. To remove this warning, set Theano flags cxx to an empty string.
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.

Однако я получил ошибку, когда подобрал модель, используя ниже function

history <- regressor %>% fit(
  X_train, Y_train, 
  epochs = 100, batch_size = 32
)

Я получил ошибку Ошибка в py_call_impl (вызываемый, точки $ args, точки $ ключевые слова): TypeError: неподдерживаемые типы операндов для +: 'TensorVariable' и 'NoneType '

Используемая версия python - 2.7.16, а версия anano - 1.0.4.

Я на самом деле пытался использовать Python Spyder для создания аналогичной модели LSTM и это работает с использованием Theano Backend. Поэтому я не очень понимаю, почему в Rstudio это не могло работать.

Буду признателен за любые идеи или рекомендации, которые приведут меня к решению.

...