Keras. ValueError: Eu operação de E / S em arquivo fechado

votos
9

Eu uso jupyter notebook com anaconda. Eu uso kerast em primeiro lugar, e eu não posso fazer tutorial. Sobre este questões são dois temas em stackoverflow, mas resolva não encontrado.

Meu código:

model = Sequential()
model.add(Dense(1, input_dim=1, activation='softmax'))

model.compile(optimizer='rmsprop',
              loss='binary_crossentropy',
              metrics=['accuracy'])

X_train_shape = X_train.reshape(len(X_train), 1)
Y_train_shape = Y_train.reshape(len(Y_train), 1)
model.fit(X_train, Y_train, nb_epoch=5, batch_size=32)

E eu tenho de erro, que é algum aleatória e, por vezes, um ou dois época competiram:

Epoch 1/5 4352/17500 [======> .......................]

-------------------------------------------------- ------------------------- ValueError Traceback (mais recente chamada última) em () 2 # 3 de 32 amostras #sleep (0,1) --- -> 4 model.fit (X_train, Y_train, nb_epoch = 5, batch_size = 32) 5 #sleep (0,1)

C: \ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ models.pyc no ajuste (self, x, y, batch_size, nb_epoch, detalhado, retornos de chamada validation_split, validation_data, shuffle, class_weight, sample_weight, ** kwargs ) 395 baralhamento = aleatória, 396 class_weight = class_weight, -> 397 sample_weight = sample_weight) 398 399 def avaliar (auto, x, y, batch_size = 32, detalhado = 1,

C: \ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ engine \ training.pyc no ajuste (self, x, y, batch_size, nb_epoch, detalhado, chamadas de retorno, validation_split, validation_data, shuffle, class_weight, sample_weight) 1009 verbosos = detalhado, chamadas de retorno = chamadas de retorno, 1010
val_f = val_f, val_ins = val_ins, baralhamento = aleatória, -> 1011 callback_metrics = callback_metrics) 1012 1013 def avaliar (auto, x, y, batch_size = 32, detalhado = 1, sample_weight = Nenhum ):

C: \ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ engine \ training.pyc em _fit_loop (auto, f, ins, out_labels, batch_size, nb_epoch, detalhado, retornos de chamada val_f, val_ins de, shuffle, callback_metrics) 753 batch_logs [l] = o 754 -> 755 callbacks.on_batch_end (batch_index, batch_logs) 756 757 epoch_logs = {}

C: \ Anaconda3 \ envs \ py27 \ lib \ site-pacotes \ keras \ callbacks.pyc em on_batch_end (Self, em lote, logs) 58 t_before_callbacks = time.time () 59 para o retorno de chamada em self.callbacks: ---> 60 callback.on_batch_end (lote, toras) 61 self._delta_ts_batch_end.append (time.time () - t_before_callbacks) 62 delta_t_median = np.median (self._delta_ts_batch_end)

C: \ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ callbacks.pyc em on_batch_end (self, lote, registros) 187 # serão tratadas por on_epoch_end 188 se self.verbose e self.seen <self.params [ 'nb_sample']: -> 189 self.progbar.update (self.seen, self.log_values) 190 191 def on_epoch_end (self, época, logs = {}):

C: \ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ utils \ generic_utils.pyc na atualização (auto, correntes, valores) 110 info + = ((prev_total_width - self.total_width) * ) 111 - > 112 sys.stdout.write (Informação) 113 sys.stdout.flush () 114

C: \ Anaconda3 \ envs \ py27 \ lib \ site-packages \ ipykernel \ iostream.pyc em write (self, string) 315 316 is_child = (não self._is_master_process ()) -> 317 self._buffer.write (string ) 318 se is_child: 319 # novas linhas implica nivelado em subprocessos

ValueError: Eu operação de E / S em arquivo fechado

Publicado 13/04/2016 em 12:01
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Mude o seu nível de detalhe em model.fit() que verbose=0.
Veja github.com/fchollet/keras/issues/2110

Não é um straight-on "consertar", mas deve ajudar a aliviar uma condição de corrida associada com a atualização do console ipython.

Respondeu 01/05/2016 em 22:10
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more