Implementing RProp in Keras

I have the code from this Github from which I download, the resilient backpropagation optimizer code. I reference it in R/RStudio with Keras/tf backend like this:


myopt = RProp(name="rprop")

model <- keras_model_sequential() %>%
  layer_dense(units = 2, activation = "sigmoid", input_shape = c(2)) %>%
  layer_dense(units = 1, activation = "sigmoid") 

model %>% compile(
  optimizer = myopt,
  loss = "binary_crossentropy",
  metrics = c("accuracy")

and my model compiles, but when I train the model like so, I get an error.

history <- model %>% fit(
  trainee,               #1000 x 2 binary matrix
  y,                     #1000 x 1 binary matrix
  epochs = 3,
  batch_size = 1800,
  verbose = 1,
Train on 2000 samples
Epoch 1/3
1800/2000 [==========================>...] - ETA: 0s Error in py_call_impl(callable, dots$args, dots$keywords) : 
  AttributeError: 'RProp' object has no attribute '_create_slots'

Detailed traceback: 
  File "C:\mini\envs\aiml3\lib\site-packages\tensorflow_core\python\keras\engine\", line 728, in fit
  File "C:\mini\envs\aiml3\lib\site-packages\tensorflow_core\python\keras\engine\", line 324, in fit
  File "C:\mini\envs\aiml3\lib\site-packages\tensorflow_core\python\keras\engine\", line 123, in run_one_epoch
    batch_outs = execution_function(iterator)
  File "C:\mini\envs\aiml3\lib\site-packages\tensorflow_core\python\keras\engine\", line 86, in execution_function
  File "C:\mini\envs\aiml3\lib\site-packages\tensorflow_core\python\eager\", line 457, in __call__
    result = self._call(*args, **kwds)
  File "C:\mini\envs\aiml3\lib\site-packages\tensorflow_core\python\eager\", line 503, in _call

if I increase the batch size to 2000 I get the same error except with AttributeError: 'Tensor' object has no attribute '_datatype_enum'

Please help, my thesis is due soon and I have no idea why my model isn't working! Thank you.

On a side note, the reason I'm using RProp is because of 1) it's speed and 2) it's what is used by the neuralnet package, which I was using previously. Would I be fine using adam or rmsprop?

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.