我在多GPU中使用Keras,Tensorflow后端在2 GPU上。我正在使用生成器(keras.utils.Sequence)以批处理模式(BS = 64)加载数据。因此,我正在使用--data-urlencode
类,并为其提供训练,验证数据和步骤。
从第二个纪元开始,我注意到了一个奇怪的行为。基本上,每个时期的前3个步骤每个只需8/9秒就可以完成,然后网络开始花费的时间越来越长(应该这样做)。日志如下:
fit_generator
您知道什么可能导致这种异常/奇怪的行为吗?
编辑:
我的Epoch 00001: val_acc improved from -inf to 0.46875, saving model to data/subs_best_model.h5
Epoch 2/32
1/29 [>.............................] - ETA: 8s - loss: 1.0664 - acc: 0.5000
2/29 [=>............................] - ETA: 8s - loss: 1.1384 - acc: 0.4531
3/29 [==>...........................] - ETA: 9s - loss: 1.0915 - acc: 0.5052
4/29 [===>..........................] - ETA: 42:03 - loss: 1.1064 - acc: 0.5117
5/29 [====>.........................] - ETA: 56:02 - loss: 1.1173 - acc: 0.4969
6/29 [=====>........................] - ETA: 1:03:13 - loss: 1.0964 - acc: 0.4974
7/29 [======>.......................] - ETA: 1:06:45 - loss: 1.0740 - acc: 0.5067
8/29 [=======>......................] - ETA: 1:08:35 - loss: 1.0592 - acc: 0.5195
9/29 [========>.....................] - ETA: 1:08:53 - loss: 1.0580 - acc: 0.5191
受this implementation的启发
我用于fit_generator的代码如下:
DataGenerator