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, чтобы отключить вывод, но в этом случае мы не можем отслеживать прогресс. Надеюсь, это поможет решить вашу проблему.

  • Создайте общую строку в anano
  • Как разместить мой набор данных в файле .pkl в точном формате и структуре данных, используемой в «mnist.pkl.gz»?
  • Как выполнить условные обновления для общих переменных в Theano?
  • Как заставить Theano распараллелить операцию на GPU (тестовый пример: numpy.bincount)
  • Ошибка при вызове eval () в переменной Tensor в keras
  • logistic_sgd, где его найти?
  • Keras: конвертировать предварительно взвешенные веса между theano и tensorflow
  • Как swich theano.tensor to numpy.array?
  • Python - лучший язык программирования в мире.