Tensorflow CUDA - CUPTI error: CUPTI could not be loaded or symbol could not be found

Tensorflow CUDA - CUPTI error: CUPTI could not be loaded or symbol could not be found

我使用的是 Tensorflow v 1.14.0。我在 Windows 10 上工作。下面是 环境变量 PATH:

中的相关性
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Users\sinthes\AppData\Local\Programs\Python\Python37
C:\Users\sinthes\AppData\Local\Programs\Python\Python37\Scripts
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\cuda\bin

也许还值得一提,以防万一它可能是相关的。我使用 Sublime Text 3 进行开发,我不使用 Anaconda。我发现在 conda 环境中对 tensorflow 进行更新有点麻烦,所以我现在只使用 Sublime Text。 (我之前使用的是 Anaconda (Spyder),但我从我的电脑上卸载了它。)

除了偶尔出现一些奇怪的警告外,一切似乎都运行良好。但是每当我 运行 fit 函数时,我得到的一个一致的警告如下。

E tensorflow/core/platform/default/device_tracer.cc:68] CUPTI error: CUPTI could not be loaded or symbol could not be found.

下面是我调用拟合函数的方式:

history = model.fit(x=train_x,
                    y=train_y,
                    batch_size=BATCH_SIZE,
                    epochs=110,
                    verbose=2,
                    callbacks=[tensorboard, checkpoint, reduce_lr_on_plateau],
                    validation_data=(dev_x, dev_y),
                    shuffle=True,
                    class_weight=class_weight,
                    steps_per_epoch=None,
                    validation_steps=None)

我只是想知道为什么我在 运行 时间看到 CUPTI Error 消息?它只打印一次。这是我需要修复的东西还是可以忽略的东西?这条消息没有告诉我任何具体的事情让我能够采取任何行动。

我在尝试获取 tensorboard 图表时遇到了类似的错误,我认为它只会影响你是否打算使用 tensorboard。

我在 post 中找到了解决方案,但它适用于 linux https://gist.github.com/Brainiarc7/6d6c3f23ea057775b72c52817759b25c 我认为您需要为 cupti 创建一个库配置文件。

这是解决 "my" 问题的方法:

我刚刚用 tensorflow v 1.13.1 替换了我的 tensorflow v 1.14。并且不再有 CUPTI 错误 消息。甚至其他一些奇怪的警告/问题也消失了。所有问题显然都应该有特定原因,但不幸的是,Tensorflow(很多次)没有提供可理解的 error/warning 消息,这些消息给出了有助于解决问题的 good/fair 想法。我最终会在这些奇怪的问题上花费数小时(甚至数天),这大大降低了我的工作效率。

我的一个普遍学习(可能与此处分享相关)是我不应该急于将我的 tensorflow 安装升级到最新版本。最新的几乎从来都不稳定,每当我尝试时,我最终都会花费 大量 时间来解决由 tensorflow 引起的问题。糟糕的文档和错误消息使其非常难以使用。

如果有人有更好的答案,非常欢迎 s/he 分享我在这个问题中分享的问题的 his/her 见解。

path 中为 Windows 添加这个:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64

The NVIDIA® CUDA Profiling Tools Interface (CUPTI) is a dynamic library that enables the creation of profiling and tracing tools that target CUDA applications.

CPUTI 似乎是由 Tensorflow 开发人员添加的,以允许进行分析。如果您不介意异常或调整您的环境路径,则可以简单地忽略该错误,以便在执行过程中找到动态链接库 (DLL)。

在您的 CUDA 安装目录中,有一个 extras\CUPTI\lib64 目录,其中包含正在尝试加载的 cupti64_101.dll。将该目录添加到您的路径应该可以解决问题,例如

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64;%PATH%

N.B。如果你接下来得到 INSUFFICIENT_PRIVILEGES error,请尝试 运行 你的程序作为管理员。

此答案适用于 Ubuntu-16.04

我在使用 Python2.7Python3.6 升级到 Tensorflow-1.14 时遇到了这个问题。我必须使用 export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH/usr/local/cuda/extras/CUPTI/lib64 添加到 LD_LIBRARY_PATH 并注销并登录。 source ~/.bashrc 没有帮助。请注意,我的 cuda 文件夹指向 cuda-10.0

这是解决“我的”问题的方法:

Windows10、Tensorflow-GPU 2.4

第一个问题是不清楚它试图加载的确切“哪个”cupti64 版本。考虑到这一点,我搜索了所有名为 cupti*

的 dll

然后我将它们全部复制到我的

C:\Program Files\NVIDIA GPU 计算 Toolkit\CUDA\v11.0\extras\CUPTI\lib64

文件夹(cupti64_2020.1.0.dll 已经在里面了)

然后我还需要设置文件夹权限才能使其正常工作,这很奇怪,因为我是 运行 VS 作为管理员

运行 同样的问题。这就是为我修复它的方法,以防其他人遇到类似的问题来解决这个问题。

我收到错误:

function cupti_interface_->Subscribe( &subscriber_, (CUpti_CallbackFunc)ApiCallback, this)failed with error CUPTI could not be loaded or symbol could not be found.
  • Windows 服务器 2019
  • 张量流 2.5
  • Cuda 11.2(CUDA_PATH环境变量已设置并添加到PATH环境变量中)
  • Cudnn 8.1.0

我已经在 PATH 环境变量中设置了 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64,但仍然收到错误。

运行 where /r c:\ cupti*.dll 在命令提示符下在 c:\Program Files\NVIDIA Corporation\Nsight Systems 2020.4.3\target-windows-x64\ 目录中找到了 dll。只需将此目录添加到 PATH 环境变量即可修复错误。

我也刚刚 运行 进入这个问题,与 jreeves 完全一样。我完全按照 jreeves 的方法(上图)解决了它。 (感谢 jreeves his/her 寻找和记录解决方案的工作。) 我的设置:

  • Windows 10
  • Gpu 支持:正确
  • Cuda 支持:正确
  • 张量流:2.4.1
  • Python版本:3.8.8.
  • Tensorboard 版本 2.4.1.
  • Cuda 11.1
  • Cudnn 8.0.5