ValueError inconsistentes: operação de I / O em arquivo fechado

votos
2

Eu estou tentando treinar um modelo usando Keras e estou recebendo um ValueError: operação de E / S em arquivo fechado. A parte que me confunde é que eu obtê-lo em um ponto diferente ao longo do processo de formação de cada vez, então eu não sei o que está causando isso.

Aqui está o meu código:

from keras.models import Sequential
from keras.layers.core import Dense
from keras.optimizers import SGD

np.random.seed(1)

model = Sequential()
model.add(Dense(input_dim=X_train.shape[1], output_dim=50, init='uniform', activation='tanh'))
model.add(Dense(input_dim=50, output_dim=50, init='uniform', activation='tanh'))
model.add(Dense(input_dim=50, output_dim=y_train_ohe.shape[1], init='uniform', activation='softmax'))

sgd = SGD(lr=0.001, decay=1e-7, momentum=.9)
model.compile(loss='categorical_crossentropy', optimizer=sgd)
model.fit(X_train, y_train_ohe, nb_epoch=50, batch_size=300, verbose=1, validation_split=0.1)

Cada vez é diferente, mas recebo uma saída como esta:

Train on 54000 samples, validate on 6000 samples
Epoch 1/50
54000/54000 [==============================] - 1s - loss: 0.2964 - val_loss: 0.2558
Epoch 2/50
54000/54000 [==============================] - 0s - loss: 0.2927 - val_loss: 0.2546
Epoch 3/50
12000/54000 [=====>........................] - ETA: 0s - loss: 0.2829

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-93-cdea496300a5> in <module>()
----> 1 model.fit(X_train, y_train_ohe, nb_epoch=50, batch_size=300, verbose=1, validation_split=0.1)

/home/julius/anaconda2/lib/python2.7/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)
    400                               shuffle=shuffle,
    401                               class_weight=class_weight,
--> 402                               sample_weight=sample_weight)
    403 
    404     def evaluate(self, x, y, batch_size=32, verbose=1,

Como você pode ver, o modelo treina através de algumas épocas antes de me dar esse erro. X_train e y_train são do conjunto de dados MNIST. Além disso, eu achei que eu virar detalhado off, o problema desaparece. Isso basicamente resolve-lo, mas não me deixa usar detalhado. Existe alguma maneira que eu possa obtê-lo para exibir as atualizações sem recebendo este erro?

Publicado 24/04/2016 em 09:32
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

I corrigir esse problema com a adição %%capturecomo a primeira linha da célula que contémmodel.fit()

Respondeu 19/07/2016 em 18:02
fonte usuário

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