代码在tensorflow cpu版本上运行,不会在tensorflow gpu版本上运行,尝试cnn bilstm模型

问题描述 投票:0回答:1

我目前正在准备有关深度学习的 CQF 期末考试。

随着课程的进展,我早些时候构建了一个 cnn-bilstm-attention 模型。当我向模型中添加越来越多的特征时,训练过程变得越来越慢。 4 个功能会将我的时间缩短至每个 epoch 10 秒。所以我重新做了我的窗户,以及一切。使用最新的 miniconda3 和 python 3.9.16、tensorflow-gpu 和 keras ==2.10、cuda == 11.5 和 cudnn 进行设置,所有这些都使用深度学习代码进行了设置。

cnn-bilstm-attention 脚本在tensorflow==2.15 上运行,但速度很慢。当我转移到tensorflow-gpu==2.10时,它不起作用。停在 Epoch 1,没有任何显示,没有错误,没有警告,什么也没有。 10~15秒后GPU内存占用率下降到正常水平。

但是,自动编码器模型确实可以在张量流、CPU 和 GPU 版本上正常工作,自动编码器上的训练数据集甚至是我在 cnn-bilstm-attention 模型上的训练数据集的三倍。只是这个 cnn-lstm-attention 模型无法在 tensorflow-gpu==2.10 上运行。我对 lstm 与 cudnnlstm 做了一些研究,然后我切换了,没有任何改变,仍然停留在 epoch 1 上。

有人知道为什么这不起作用吗?我不是CS人,python是我唯一熟悉的语言。我想任何提示都会有帮助。非常感谢。

python tensorflow keras deep-learning
1个回答
0
投票

看来我找到了解决问题的方法。最后,纪元 1 正在运行,并有合理的响应。

我的机器使用的是 cuda==11.5.2,因此只有 11.x 版本的 cudnn 可以使用它。我原来的cudnn==8.3.2.44,所以我升级到8.5.0、8.7.0、8.9.0,一直到最新的8.9.6.50。

cuda==11.5.2 的最新 cudnn==8.9.6.50 适用于我的 cnn-bilstm-attention 模型 python 代码。

我希望我的方法能为那些也遇到过这个问题的人提供一些解决问题的提示。

========机器规格======== i9-13900K + RTX4080 + 48G DDR5 内存

截至 20240101 的最新 MINICONDA

Python = 3.9.16

tensorflow-gpu == 2.10.1,keras == 2.10.0

cuda == 11.5.2,cudnn == 8.9.6.50

========屏幕截图=======

© www.soinside.com 2019 - 2024. All rights reserved.