【发布时间】:2016-06-22 22:17:49
【问题描述】:
我想使用 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
任何想法为什么我重定向输出时它不启动?
【问题讨论】:
标签: python command-line centos theano keras