找不到Conv1D DNN库如何解决?

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

如何解决tensorflow中找不到Cnv1 DNN库的错误?

并且,tensorflow 在这里给出的兼容性https://www.tensorflow.org/install/source 向后也有效吗?

这个问题可能与以下内容重复(当然与之相关):Colab:(0)未实现:未找到 DNN 库未实现的错误节点:'sequential/conv1d/Conv1D'DNN 库未在 Jupyter 上运行Windows 但是,我无法完全遵循他们的解决方案。这是我的问题:

我正在使用 Keras/tensorflow 训练卷积神经网络 (CNN)。在我的电脑上,它似乎运行良好。但是,我必须让它在 GPU 上运行。正是在那里,我遇到了各种各样的问题。最新:

Node: 'XXX/1st_Conv1D/Conv1D'
DNN library is not found.
    [[{{node XXX/1st_Conv1D/Conv1D}}]] [Op:__interference_train_function_5577]

XXX是我在代码中选择的名称。训练开始时一切正常,但在一段时间后突然中止,并显示上述消息。

我已经在GPU服务器上安装了conda(没有管理员权限)(不会获得amdin权限,它是一个大学系统)。 conda 列表给出以下内容:

cudnn                Version 8.4.1.50
keras                Version 2.10.0
keras-preprocessing  Version 1.1.2
tensorflow           Version 2.10.0
tensorflow-base      Version 2.10.0
tesnorflow-estimator Version 2.10.0
cuda-toolkit         Version 12.0.0
cuda-tools           Version 12.0.0
cuda-cudart          Version 12.0.107
cuda-python          Version 11.8.1
cudatoolkit          Version 11.8
python               Version 3.9.15

以及其他各种软件包(许多 cuda 之类的东西)。 (我还没有安装bazel)。列出的软件包 cudatoolkit 和 cuda-toolkit 不是拼写错误。 python 和 cuda-python (来自 anaconda 的 nvidia 频道)都不是。我从 https://www.tensorflow.org/install/source 的理解是,这应该没问题。有些人提到了一些库路径。我不明白。为此,我需要一些更白痴的解释:-((请记住,我没有管理员权限)

In my python code I import the following:
from keras import backend as K
import tensorflow as tf
from tensorflow import keras
from keras import Input
from keras.models import Model
from keras.layers import BatchNormalization
from keras.layers import LeakyReLU
from keras.layers import Activation
from keras.layers import Dense
from keras.layers import Reshape
from keras.layers import Conv1D
from keras import initializers
from keras.callbacks import EarlyStopping
from keras.callbacks import ModelCheckpoint
from keras.callbacks import ReduceLROnPlateau
from keras.models import load_model
from keras.optimizers import Adam
from keras.utils import Sequence
from keras.metrics import MeanSquaredError
from keras.metrics import MeanAbsoluteError
from keras.metrics import RootMeanSquaredError

# for plotting
import matplotlib
# import matplotlib.pyplot as plt
matplotlib.use('Agg')
from matplotlib import pyplot as plt
import matplotlib.colors as mcolors
import matplotlib as mpl
import matplotlib.patches as mpatches
from matplotlib.colors import to_rgb
from matplotlib.collections import PolyCollection
from matplotlib.legend_handler import HandlerTuple
import seaborn as sns  # for violin plots

我还导入 pandas、numpy、wave、time、sys、json、argparse、pathlib、datetime 和 random。到目前为止,它们没有造成任何问题。 然后对模型进行训练:

    history = model.fit(x=train_data_gen,
                    validation_data=vali_data_gen,
                    batch_size=BATCH_SIZE,
                    epochs=EPOCHS,
                    verbose=VERBOSITY,
                    shuffle=SHUFFLE,
                    max_queue_size=QUEUE_SIZE,
                    use_multiprocessing=MULTI_PROCESSING,
                    workers=WORKERS,
                    callbacks=[early_stopping,
                               model_checking,
                               reduce_lr])

其中 MULTI_PROCESSING 设置为 True(请参阅:https://stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-fly)。这在 PC 上运行良好。但速度明显很慢。我必须让它在 GPU 上工作。队列大小设置为 1000。工人数为 48。我可以降低它。有些人提出记忆问题,尽管我无法想象。

tensorflow keras anaconda gpu
2个回答
2
投票

系统中安装的

CUDA
cuDNN
版本与为 TensorFlow 2.10 GPU 设置定义的
测试构建配置
不匹配。 (查看下图)

您需要安装指定版本的

cuDNN 8.1
以及与
CUDA 11.2
兼容的
TensorFlow 2.10
才能在您的系统中启用GPU支持。

请检查链接来安装这些软件。谢谢你。


0
投票

奇怪的是,您也可以尝试关闭笔记本,然后重试。

我在 conda 环境中遇到了这个错误,我已经成功地将它与其他笔记本一起用于深度学习。我用过

from tensorflow.python.platform import build_info as tf_build_info
tf_build_info.build_info

from platform import python_version
print(python_version())

print(tf.__version__)

验证我的 Tensorflow、Python、cuDNN 和 CUDA 版本,它们全部兼容。所以,我重新启动了笔记本,再次运行,它成功了(!?)

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