Различные исключения произошли при запуске Keras и scikit-learn - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь передать модель Keras (как функцию) в оболочку KerasClassifier из scikit_learn, а затем использую GridSearchCV для создания некоторых настроек и, наконец, подгонять наборы данных train и test (оба являются массивом numpy)

Затем я с тем же сценарием Python получил различные исключения , некоторые из них:

_1.

Traceback (последний вызов был последним): FileФайл "mnist_flat_imac.py", строка 63, в файле grid_result = validator.fit (train_images, train_labels) "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages/sklearn/model_selection/_search.py",строка 626, в файл fit base_estimator = clone (self.estimator) "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages/sklearn/base.py", строка 62, в клоне new_object_params [имя]= файл clone (param, safe = False) "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages/sklearn/base.py", строка 53, в клоне

отсечено здесь

in _deepcopy_dict y [deepcopy (ключ, памятка)] = deepcopy (значение, памятка) Файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py", строка 174, в deepcopy rv = reductor (4) Ошибка типа: невозможноpickle SwigPyObject objects Исключение, игнорируемое в:> Traceback (последний вызов был последним): файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages/tensorflow/python/framework/c_api_util.py", строка 52, в __del__ c_api.TF_DeleteGraph (self.graph) AttributeError: у объекта 'ScopedTFGraph' нет атрибута 'graph'

_2.

Трассировка (последний вызов был последним): файл "mnist_flat_imac.py", строка 63, в файле grid_result = validator.fit (train_images, train_labels) "/ home / longnv / PYTHON_ENV / DataScience / lib/python3.5/site-packages/sklearn/model_selection/_search.py ​​", строка 626, в нужном файле base_estimator = clone (self.estimator)" /home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages / sklearn / base.py ", строка 62, в клоне файл new_object_params [name] = клон (param, safe = False)" /home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages/sklearn/base.py ", строка 53, в клоне, возвращает файл copy.deepcopy (оценщик)" /home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py ", строка 182, в глубокой копии y = _reconstruct (x,rv, 1, memo) Файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py", строка 297, в _reconstruct

, отсекаемый здесь

в глубокой копии y = _reconstruct (x, rv, 1, memo) Файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py", строка 297, в _reconstruct state = deepcopy (state, memo) Файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py", строка 155, в deepcopy y = файл копира (x, memo) "/home / longnv / PYTHON_ENV / DataScience / lib / python3.5 / copy.py ", строка 243, в _deepcopy_dict y [deepcopy (ключ, памятка)] = файл Deepcopy (значение, памятка)" / home / longnv / PYTHON_ENV / DataScience/lib/python3.5/copy.py ", строка 174, в deepcopy rv = reductor (4) TypeError: невозможно выбрать объекты SwigPyObject

_3.

Traceback (последний вызов был последним): файл "mnist_flat_imac.py", строка 63, в файле grid_result = validator.fit (train_images, train_labels) "/ home / longnv / PYTHON_ENV / DataScience / lib/python3.5/site-packages/sklearn/model_selection/_search.py ​​", строка 626, в нужном файле base_estimator = clone (self.estimator)" /home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages / sklearn / base.py ", строка 62, в клоне файл new_object_params [name] = клон (param, safe = False)" /home/longnv/PYTHON_ENV/DataScience/lib/python3.5/site-packages/sklearn/base.py ", строка 53, в клоне

отсечено здесь

в _deepcopy_dicty [deepcopy (key, memo)] = файл deepcopy (value, memo) Файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py", строка 182, в глубокой копии y = _reconstruct (x, rv, 1, памятка) Файл "/home/longnv/PYTHON_ENV/DataScience/lib/python3.5/copy.py", строка 306, в _reconstruct y. dict .update (state) AttributeError: 'NoneType'У объекта нет атрибута' update '

Почему он выдает разные ошибки с одним и тем же скриптом python?И как я могу это исправить?

Огромное спасибо!

PS

  • python: 3,5
  • tenorflow: 1.10.1
  • pandas: 0.23.4
  • Ubuntu: универсальный 4.4.0-124

1 Ответ

0 голосов
/ 11 октября 2018

Нашел его.

Должно быть: clf = KerasClassifier (build_fn = get_model)

Вместо: clf = KerasClassifier (build_fn = get_model ())

...