首页 文章

Keras . ValueError:关闭文件的I / O操作

提问于
浏览
9

我用anaconda的jupyter笔记本 . 我首先使用kerast,我不能做教程 . 关于这个问题是stackoverflow中的两个主题,但是找不到解决方法 .

我的代码:

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)

而且我有错误,这是一些随机的,有时一两个时代的竞争:

大纪元1/5 4352/17500 [======> .......................] ---------- -------------------------------------------------- --------------- ValueError Traceback(最近一次调用last)in()32个样本中的2个#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 in fit(self,x,y,batch_size,nb_epoch,verbose, callbacks,validation_split,validation_data,shuffle,class_weight,sample_weight,** kwargs)395 shuffle = shuffle,396 class_weight = class_weight, - > 397 sample_weight = sample_weight)398 399 def evaluate(self,x,y,batch_size = 32,verbose = 1,C:\ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ engine \ training.pyc in fit(self,x,y,batch_size,nb_epoch,verbose,callbacks,validation_split,validation_data,shuffle,class_weight, sample_weight)1009 verbose = verbose,callbacks = callbacks,1010 val_f = val_f,val_ins = val_ins,shuffle = shuffle, - > 1011 callback_metrics = callback_metrics)1012 1013 def评估ate(self,x,y,batch_size = 32,verbose = 1,sample_weight = None):_fit_loop中的C:\ Anaconda3 \ envs \ py27 \ lib \ site-packages \ keras \ engine \ training.pyc(self,f, ins,out_labels,batch_size,nb_epoch,verbose,callbacks,val_f,val_ins,shuffle,callback_metrics)753 batch_logs [l] = o 754 - > 755 callbacks.on_batch_end(batch_index,batch_logs)756 757 epoch_logs = {} C:\ Anaconda3 on_batch_end中的\ envs \ py27 \ lib \ site-packages \ keras \ callbacks.pyc(self,batch,logs)58 t_before_callbacks = time.time()59用于self.callbacks中的回调:---> 60 callback.on_batch_end(批处理,日志)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在on_batch_end(self,batch,logs)187#将由on_epoch_end 188处理,如果self.verbose和self.seen <self.params ['nb_sample']: - > 189 self.progbar.update(self.seen,self .log_values)190 191 def on_epoch_end(self,epoch,logs = {}):C:\ An更新中的aconda3 \ envs \ py27 \ lib \ site-packages \ keras \ utils \ generic_utils.pyc(self,current,values)110 info =((prev_total_width - self.total_width)*“”)111 - > 112 sys . stdout.write(info)113 sys.stdout.flush()114 C:\ Anaconda3 \ envs \ py27 \ lib \ site-packages \ ipykernel \ iostream.pyc in write(self,string)315 316 is_child =(不是自我 . _is_master_process()) - > 317 self._buffer.write(string)318 if is_child:319 #newlines暗示子进程刷新ValueError:关闭文件的I / O操作

1 回答

  • 3

    model.fit() 中的详细级别更改为 verbose=0.
    github.com/fchollet/keras/issues/2110

    这不是一个直接的“修复”,但它应该有助于缓解与更新iPython控制台相关的竞争条件 .

相关问题