Keras ValueError: операция ввода-вывода в закрытом файле

Я пытаюсь написать однослойную сеть. Когда он начнет тренироваться через model.fit , в какой-то случайный период он model.fit следующую ошибку:

ValueError: I/O operation on closed file

Вот как я использую model.fit

my_model = model.fit(train_x, train_y, batch_size=100, nb_epoch=20, show_accuracy=True, verbose=1)

Пожалуйста, дайте мне знать, если у вас есть какие-либо мысли или вы сталкиваетесь с одной и той же проблемой.

благодаря

Вот полный вывод ошибки:

 Epoch 1/20 47900/60816 [======================>.......] - ETA: 3s - loss: 0.1688 - acc: 0.9594 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-4-273f2082a322> in <module>() 14 model.compile(loss='binary_crossentropy', optimizer='adadelta') 15 ---> 16 model.fit(train_x, train_y, batch_size=100, nb_epoch=20, show_accuracy=True, verbose=1) 17 score = model.evaluate(test_x, test_y, show_accuracy=True, verbose=0) 18 print('Test loss:', score[0]) /usr/local/lib/python2.7/dist-packages/keras/models.pyc in fit(self, X, y, batch_size, nb_epoch, verbose, callbacks, validation_split, validation_data, shuffle, show_accuracy, class_weight, sample_weight) 699 verbose=verbose, callbacks=callbacks, 700 val_f=val_f, val_ins=val_ins, --> 701 shuffle=shuffle, metrics=metrics) 702 703 def predict(self, X, batch_size=128, verbose=0): /usr/local/lib/python2.7/dist-packages/keras/models.pyc in _fit(self, f, ins, out_labels, batch_size, nb_epoch, verbose, callbacks, val_f, val_ins, shuffle, metrics) 321 batch_logs[l] = o 322 --> 323 callbacks.on_batch_end(batch_index, batch_logs) 324 325 epoch_logs = {} /usr/local/lib/python2.7/dist-packages/keras/callbacks.pyc in on_batch_end(self, batch, logs) 58 t_before_callbacks = time.time() 59 for callback in self.callbacks: ---> 60 callback.on_batch_end(batch, logs) 61 self._delta_ts_batch_end.append(time.time() - t_before_callbacks) 62 delta_t_median = np.median(self._delta_ts_batch_end) /usr/local/lib/python2.7/dist-packages/keras/callbacks.pyc in on_batch_end(self, batch, logs) 187 # will be handled by on_epoch_end 188 if self.verbose and self.seen < self.params['nb_sample']: --> 189 self.progbar.update(self.seen, self.log_values) 190 191 def on_epoch_end(self, epoch, logs={}): /usr/local/lib/python2.7/dist-packages/keras/utils/generic_utils.pyc in update(self, current, values) 59 prev_total_width = self.total_width 60 sys.stdout.write("\b" * prev_total_width) ---> 61 sys.stdout.write("\r") 62 63 numdigits = int(np.floor(np.log10(self.target))) + 1 /usr/local/lib/python2.7/dist-packages/ipykernel/iostream.pyc in write(self, string) 315 316 is_child = (not self._is_master_process()) --> 317 self._buffer.write(string) 318 if is_child: 319 # newlines imply flush in subprocesses ValueError: I/O operation on closed file 

2 Solutions collect form web for “Keras ValueError: операция ввода-вывода в закрытом файле”

Как уже упоминалось в комментариях к вопросу (не видели до сих пор), это происходит из-за ошибки в IPython / Jupyter IO и того, как она обрабатывает подробный вывод от Keras. Вы можете отключить отчетность, установив verbose=False в train и predict или predict_proba методы predict_proba вызываемые в модели как временное решение, или просто запустите модель за пределами ноутбука.

В Keras Github есть проблема, которая суммирует проблему.

У меня такая же проблема, и теперь она исправлена. Установив verbose = 2 в model.fit, вы можете решить эту проблему. В документе Keras для model.fit вы можете найти это: «verbose: 0 для отсутствия входа в stdout, 1 для ведения журнала выполнения, 2 для одной строки журнала за эпоху». Установка verbose = 2 будет обновлять прогресс после каждой эпохи и помогает уменьшить объем информации о регистрации, выводимой на экран, что, по моему мнению, вызвало проблему с закрытым IO. Некоторые люди предлагают установить verbose = 0, чтобы отключить вывод, но в этом случае мы не можем отслеживать прогресс. Надеюсь, это поможет решить вашу проблему.

  • Как использовать предварительно обработанное слово2vec в anano
  • Как реализовать взвешенную двоичную кросс-энтропию на анано?
  • проблема компиляции при запуске theano
  • Возможности экстракции Keras VGG
  • pdist для тензора аана
  • theano.test (): сбой оптимизации из-за постоянной_складки (на ubuntu)
  • Как изменить компилятор Python по умолчанию в GCC?
  • Python theano.scan указывает аргумент
  • как настроить cuDnn с помощью anano на Windows 7 64 бит
  • Theano: Инициализация устройства gpu не удалась! Причина = CNMEM_STATUS_OUT_OF_MEMORY
  • Как заставить Theano распараллелить операцию на GPU (тестовый пример: numpy.bincount)
  •  
    Interesting Posts for Van-Lav

    Развернуть путь поиска Python к другому источнику

    Сохранение URL-адресов во время Spidering

    Функция Python: переменная и строка

    Нарезка списка на Python без создания копии

    pypeg2 – может ли это выражение анализироваться с использованием грамматики привязки?

    Чтение массива ячеек Matlab, сохраненного как файл v7.3 .mat с H5py

    Cmake не может найти библиотеки Python

    Достаточно простое расширение строк в Python?

    PyQt соединяется внутри для цикла и отдельных вызовов, приводит к разному поведению

    Применение кумулятивной средней функции к сгруппированному объекту

    ModuleNotFoundError: Нет модуля с названием «Масштабирование»

    Django Framework – есть ли событие отключения, на которое можно подписаться?

    Matplotlib: Как увеличить качество цветовой палитры / ширины линии в streamplot?

    Разрешение запрещено при запуске скрипта python через bash

    Игнорировать последний \ n при использовании readlines с python

    Python - лучший язык программирования в мире.