我试图在一个jupyter笔记本上使用我的GTX 980 gpu在Windows 10机器上运行带有tensorflow的keras . 如果我单独使用tensorflow与我的gpu,它的工作完全没有任何问题 . 但是对于大量时期的keras接口出现了问题 .
keras模型使用GPU,如果我的纪元数量低,则给出输出,如下所示
with tf.device('/gpu:0'):
model.compile('adam', 'categorical_crossentropy', ['accuracy'])
history = model.fit(X_normalized,y_one_hot,batch_size=128,nb_epoch=2,validation_split=0.2)
以下是输出
培训31367个样本,验证7842个样本Epoch 1/2 31367/31367 [==============================] - 3s - 损失:1.7640 - acc:0.5438 - val_loss:1.2872 - val_acc:0.6486 - ETA:0s - 损失:1.8827 - acc:0.5145 - ETA:0s - 损失:1.7732 - acc:0.5416 Epoch 2/2 31367/31367 [= =============================] - 2s - 损失:0.8539 - acc:0.7765 - val_loss:0.7958 - val_acc:0.7615
如果时期数量很高,那么它会因以下错误而超时,并且网页显示忙碌
119999 ms后的WebSocket ping超时 .
我该如何解决这个错误?
1 回答
我想这个问题与Windows上的TDR(超时检测和恢复)有关 . 基本上,操作系统认为GPU挂起并且不再响应,因此操作系统将重启显卡 . 您可以尝试禁用TDR或扩展TdRDelay的上限 . 更多细节可以在https://docs.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys找到 .