Keras训练在fit_generator()期间冻结

2024-06-16 14:03:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图训练我的6000训练数据集和1000个验证数据集,但我有一个问题:程序只是冻结和挂起在训练期间没有任何错误消息。在

1970/6000 [========>.....................] - ETA: 1:50:11 - loss: 1.2256 - accuracy: 0.5956
1971/6000 [========>.....................] - ETA: 1:50:08 - loss: 1.2252 - accuracy: 0.5958
1972/6000 [========>.....................] - ETA: 1:50:08 - loss: 1.2248 - accuracy: 0.5960
1973/6000 [========>.....................] - ETA: 1:50:06 - loss: 1.2245 - accuracy: 0.5962
1974/6000 [========>.....................] - ETA: 1:50:04 - loss: 1.2241 - accuracy: 0.5964
1975/6000 [========>.....................] - ETA: 1:50:02 - loss: 1.2243 - accuracy: 0.5961
1976/6000 [========>.....................] - ETA: 1:50:00 - loss: 1.2239 - accuracy: 0.5963
1977/6000 [========>.....................] - ETA: 1:49:58 - loss: 1.2236 - accuracy: 0.5965
1978/6000 [========>.....................] - ETA: 1:49:57 - loss: 1.2241 - accuracy: 0.5962
1979/6000 [========>.....................] - ETA: 1:49:56 - loss: 1.2237 - accuracy: 0.5964
1980/6000 [========>.....................] - ETA: 1:49:55 - loss: 1.2242 - accuracy: 0.5961
1981/6000 [========>.....................] - ETA: 1:49:53 - loss: 1.2252 - accuracy: 0.5958
1982/6000 [========>.....................] - ETA: 1:49:52 - loss: 1.2257 - accuracy: 0.5955

我等了5-6分钟,但似乎什么也没发生。 我试着解决

  1. 将“步数”更改为100,并将“历元”增加到20
  2. 我认为这是一个函数简化的问题,所以我将添加cooldown=1
    但2种方案并没有解决这个问题

硬件配置:

  • 15-8300小时
  • Gtx 1060 6GB

依赖项:

  1. Keras 2.3.1
  2. TensorFlow 2.0.0(GPU版本)

代码如下:

^{pr2}$

Tags: 数据函数程序消息硬件错误方案eta
1条回答
网友
1楼 · 发布于 2024-06-16 14:03:12

如果您使用Keras<;2.0.0(我不建议您使用旧版本),那么这段代码会很好地工作。在

您的错误是因为您使用的是Keras>;2.0.0或Keras inside TensorFlow。在

代码中的错误来自以下几行:

history = model.fit_generator(
    train,
    epochs=Epoch,
    steps_per_epoch=6000, #change this to 6000/32
    class_weight=class_weights,
    validation_data=val,
    validation_steps=1000, #change this to 1000/32
    use_multiprocessing = False,
    max_queue_size=100,
    workers = 1,
    callbacks=callbacks_list
)

参数“steps_per_epoch”和“validation_steps”必须等于数据集的长度除以批大小。在

相关问题 更多 >