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

att*_*she 12 python machine-learning keras

我用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)
Run Code Online (Sandbox Code Playgroud)

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

大纪元1/5 4352/17500 [======> .......................]

-------------------------------------------------- ------------------------- ValueError Traceback(最近一次调用最后一次)in()2#32个样本3 #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(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(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 evaluate(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 = {}

on_batch_end中的C:\ Anaconda3\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(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)

在on_batch_end(self,batch,logs)中的C:\ Anaconda3\envs\py27\lib\site-packages\keras\callbacks.pyc 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:\ Anaconda3\envs\py27\lib\site-packages\keras\utils\generic_utils.pyc(自我,当前,值)110信息+ =((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(self,string)315 316 is_child =(不是self._is_master_process()) - > 317 self._buffer.write(string )318 if is_child:319 #newlines暗示在子进程中刷新

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

Amw*_* 5G 6

更改您的详细级别, model.fit()verbose=0.
查看github.com/fchollet/keras/issues/2110

这不是直接的“解决方案”,但应有助于缓解与iPython控制台更新相关的竞争状况。