2016-03-08 23 views
0

我想用keras訓練神經網絡,但訓練並未開始,並且發生在非常奇怪的情況下。神經網絡已編譯,但訓練未啓動

這裏是我的代碼的一部分:

model = Sequential() 
model.add(Convolution2D(8, 7, 7, border_mode='valid', input_shape=(1, 31, 31), activation='tanh')) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Convolution2D(16, 5, 5, border_mode='valid', activation='tanh')) 
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Convolution2D(32, 3, 3, border_mode='valid', activation='relu')) 
model.add(Flatten()) 
model.add(Dense(23)) 
model.add(Activation('tanh')) 
model.add(Dropout(0.1)) 
model.add(Dense(11)) 
model.add(Activation('sigmoid')) 
model.add(Dropout(0.1)) 
model.add(Dense(1)) 
model.add(Activation('sigmoid')) 

optimizer = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True) 
print("optimizer done") 
model.compile(loss='binary_crossentropy', optimizer=optimizer) 
print("compile done") 
sys.stdout.flush() 

model.fit(dataset, labels, batch_size=batch_size, nb_epoch=nb_epoch, shuffle=True, validation_split=0.1, verbose=2) 

如果我在運行使用python mynn.py終端這段代碼,一切順利,訓練開始。

但是,如果我在使用python mynn.py &python mynn.py > results.txt,或者如果我在我的代碼sys.stdout = open('Outputs.txt', 'w')重定向輸出,那麼對於fit方法的程序攤位,因此學習不啓動終端運行這段代碼。顯示compile done,但沒有更多,沒有培訓。

我接過來一看,似乎該程序保持調用這個函數clock_gettime(CLOCK_MONOTONIC_RAW, {,}) = 0

任何想法,爲什麼當我重定向輸出不啓動?

回答

0

最後,過程開始,但沒有任何內容顯示到終端或寫入輸出文件,直到訓練完成(所有時期執行)。

我發現很多不同的小訓練只用了幾個時代,而且所有的訓練都結束後才顯示出來。