我刚刚通过pip install tensorflow安装了Tensorflow的最新版本,每当我运行程序时,我都会收到日志(log)消息:

W tensorflow/stream_executor/platform/default/dso_loader.cc:55]无法加载动态库的cudart64_101.dll';德勒:cudart64_101.未找到dll

这不好吗?如何修复错误?

推荐答案

Tensorflow 2.1+

发生什么事?

对于new Tensorflow 2.1 release,默认的tensorflow pip包包含TF的CPU和GPU版本.在以前的TF版本中,找不到CUDA库会发出错误并引发异常,而现在库会动态搜索正确的CUDA版本,如果找不到,则会发出警告(开头的W代表警告,错误有E(或F代表致命错误),并返回到仅CPU模式.事实上,这也会在警告之后作为信息消息写入日志(log)(请注意,如果您的最低日志(log)级别高于默认值,则可能看不到信息消息).完整日志(log)是(我的):

2020-01-20 12:27:44.554767:W tensorflow/stream_executor/platform/default/dso_loader.cc:55]无法加载动态库的cudart64_101.dll';德勒:cudart64_101.未找到dll

2020-01-20 12:27:44.554964:I tensorflow/stream_executor/cuda/cudart_stub.抄送:29]Ignore above cudart dlerror if you do not have a GPU set up on your machine.

我应该担心吗?我该怎么修?

如果你的机器上没有一个支持CUDA的GPU,或者如果你不在乎没有GPU加速,那就不用担心了.另一方面,如果您安装了tensorflow并希望GPU加速,请判断您的CUDA安装(TF2.1需要CUDA 10.1not 10.2或10.0).

如果您只是想消除警告,可以使用adapt TF's logging level来 suppress 警告,但这样做可能有些过头,因为它会使all个警告静音.


Tensorflow 1.X or 2.0:

您的CUDA安装程序已损坏,请确保安装了正确的版本.

Python-3.x相关问答推荐

在Pytorch中打印每个历元或每个index_data的损失

这是重命名极地df列的最好方式吗?

安装grpcio时出现错误DeproationWarning:pkg_resource

为什么我的Selenium脚本在密码元素上失败?

如何将函数映射到所有命名元组的元素?

attrs 将 list[str] 转换为 list[float]

将元组列表转换为以整个元组为键的字典列表

Dask worker post-processing

Python - 使用 OpenCV 将字节图像转换为 NumPy 数组

你如何表达一个没有参数的 Python Callable?

Python 3.5 中编码 utf-8 和 utf8 的区别

为什么包含类的名称不被识别为返回值函数注释?

Python 3 变量名中接受哪些 Unicode 符号?

使用自定义比较删除重复项

如何使用python将放置在多个嵌套文件夹中的文档移动和重命名为一个新的单个文件夹?

作为函数对象属性的 __kwdefaults__ 有什么用?

为什么中断比引发异常更快?

Python:&= 运算符

TypeError:多个基地有实例布局冲突

有效地判断一个元素是否在列表中至少出现 n 次