CancelledError:[_Derived_]RecvAsync 已取消。在谷歌 colab 上运行
Posted
技术标签:
【中文标题】CancelledError:[_Derived_]RecvAsync 已取消。在谷歌 colab 上运行【英文标题】:CancelledError: [_Derived_]RecvAsync is cancelled. Running on google colab 【发布时间】:2021-03-20 06:17:21 【问题描述】:拟合我的模型时出现以下错误。每 5 个 epoch 后发生一次!
Link to notebook
Tensorflow, Keras, Cuda versions
尝试了以下选项:
-
TF_FORCE_GPU_ALLOW_GROWTH=1
更改 cuda 和 keras 版本。
错误:
WARNING:tensorflow:From <ipython-input-21-44f42c6a15c1>:2: Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.
Instructions for updating:
Please use Model.fit, which supports generators.
Epoch 1/10
39/39 [==============================] - 10s 248ms/step - loss: 4.7112 - accuracy: 0.1422 - val_loss: 4.2005 - val_accuracy: 0.1601
Epoch 2/10
39/39 [==============================] - 8s 207ms/step - loss: 3.9892 - accuracy: 0.1991 - val_loss: 3.9835 - val_accuracy: 0.1725
Epoch 3/10
39/39 [==============================] - 8s 214ms/step - loss: 3.7736 - accuracy: 0.2169 - val_loss: 3.6771 - val_accuracy: 0.2279
Epoch 4/10
39/39 [==============================] - 8s 211ms/step - loss: 3.5558 - accuracy: 0.2519 - val_loss: 3.5377 - val_accuracy: 0.2499
Epoch 5/10
39/39 [==============================] - 8s 213ms/step - loss: 3.4118 - accuracy: 0.2714 - val_loss: 3.2555 - val_accuracy: 0.2810
Epoch 6/10
---------------------------------------------------------------------------
CancelledError: [_Derived_]RecvAsync is cancelled.
[[node broadcast_weights_1/assert_broadcastable/AssertGuard/else/_13/broadcast_weights_1/assert_broadcastable/AssertGuard/Assert/data_1/_74]] [Op:__inference_train_function_11025]
Function call stack:
train_function
【问题讨论】:
这个错误似乎可以通过使用import os os.environ["TF_FORCE_GPU_ALLOW_GROWTH"]="true"
来解决。谢谢!
我也这样做了,但在我的情况下没有运气.. :'(
我在这里遇到了同样的问题 (link)。我以看似随机的顺序得到它。请问:训练数据对你来说总是相同的顺序吗?我开始怀疑模型输入是造成这种情况的原因。
你可以尝试减少batch_size。谢谢
我在使用自定义批处理生成器时使用了 yield...。因此,我重新实现了 Keras 文档中的批处理生成器,这解决了我的问题。将输入传递给我的模型时,我还必须使用 tf.convert_to_tensor()...希望对某人有所帮助...
【参考方案1】:
就我而言,升级 tensorflow 和其他软件包解决了这个问题。我使用了具有以下配置的 anaconda 环境:
-
张量流从 v2.3.0 到 v.2.6.0
cudnn 从 v7.6.0 到 8.2.1
cudatoolkit 从 v10.1.168-0 到 11.3.1
【讨论】:
以上是关于CancelledError:[_Derived_]RecvAsync 已取消。在谷歌 colab 上运行的主要内容,如果未能解决你的问题,请参考以下文章