Объясните особенности моего объекта keras с пакетом lime R - PullRequest
0 голосов
/ 03 мая 2018

После получения метрики accuracy из моей модели бинарной классификации keras мне нужно знать, какие модели сделали прогнозы. Итак, меня интересует значение переменной . Я использую lime пакет.

library(lime)

explainer <- lime (
  x  = x_train, 
  model  = model_keras, 
  bin_continuous  = FALSE)

explanation <- explain (
    x_test[1:20,], # Show first 20 samples
    explainer    = explainer, 
    n_labels     = 1, 
    n_features   = 5) 
Функция

Explain выдает мне следующую ошибку в функции py_get_attr_impl: AttributeError: у объекта 'function' нет атрибута 'func_name'.

Я скомпилировал keras модель с R, но эта проблема , похоже, связана с версией Python. Проблемы с Reticulate пакетом?

1 Ответ

0 голосов
/ 01 августа 2018

Работает с питоном 2.7, но генерирует ошибку с питоном 3+.

Фактически атрибут функции func_name был переименован в python 3+ в __name__.

липовый пакет (models.R) имеет строку:

if (keras::get_layer(x, index = -1)$activation$func_name == 'linear')

Я удалил $func_name, и код работал для меня. Я полагаю, что это не лучший обходной путь, однако возможное решение, которое приходит на ум:

if (keras::get_layer(x, index = -1)$activation$__name__ == 'linear')

не работал с R.

...