在这种情况下需要22.5秒,在其他情况下需要200秒或挂起(它可能在将来某个时候解锁)。
它通常解冻的事实让我觉得它不是僵局。但我不知道它是什么。但是,strace显示冻结发生在futex调用期间,这是可疑的。
我没有做任何特别复杂的事情;我有一个FCN,我只测量运行session.run()的时间。在GPU上运行,但我尝试在CPU上运行,但它仍然会发生。
以下是时间测量代码供参考:
feed_dict = {
self.prediction_network.data_placeholder: batch_data,
self.prediction_network.groundtruth_placeholder: batch_results,
self.prediction_network.learningrate_placeholder: learning_rate,
self.prediction_network.dropout_placeholder: FLAGS.dropout_keep_prob
}
_, global_step, loss_value = session.run([self.prediction_network.train_op, self.prediction_network.global_step_op, self.prediction_network.loss],
feed_dict=feed_dict)
durations.append(time.time() - start_time)
if global_step % 200 == 0:
avgtime = sum(durations)/float(len(durations))
maxtime = max(durations)
mintime = min(durations)
print('Step %d (E%d / %d): loss = %.5f (%.3f sec avg, %.3f sec max, %.3f sec min)' % (global_step, epoch+1, FLAGS.epoch_count, loss_value, avgtime, maxtime, mintime))
我已经坚持了一段时间,我无法挺身而出,因为每当我尝试一些东西时,我必须重新运行10次,直到它起作用。有人有这个问题吗?