error: Ignore above cudart dlerror if you do not have a GPU set up on your machine.

错误描述

具体错误描述:

W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.

意思是说没有找到cuda的配置文件,如果电脑没有GPU则忽略此错误提示并退回到CPU版本。

错误原因

在网上搜索了一些对此问题原因的解释,其大致原因是在安装TensorFlow时使用了以下命令:

pip install tensorflow

最新版的TensorFlow默认安装CPU和GPU两个版本,GPU不能运行时退回到CPU版本。所以在运行时会自动检测是否有GPU,如果没有则报错并切换至CPU运行

解决方法

解决方法1:

重新安装TensorFlow的CPU版本:打开anaconda prompt输入以下命令
卸载当前TensorFlow

pip uninstall tensorflow

如果用的是CPU,则安装TensorFlow的CPU版本,默认最新版本

pip install tensorflow_cpu

由于使用的是国外镜像,下载速度很慢,可能会中断,大家可以自行搜索安装包。

如果使用的是GPU则使用下面的方法解决:

先来排查错误,显示“cudart64_110.dll not found”,那是因为安装的cuda版本没有“cudart64_110.dll”

因此我们需要手动将“cudart64_110.dll”添加到coda的bin目录中去。

详细步骤请参考链接:tensorflow-gpu版本使用时报错,各种dll文件找不到

方法比较多,可以多尝试一下,因为小编用的CPU所以暂时就不详细描述了。提供一些实用的解决方案,尽一份薄力!

Tensorflow无法调用GPU,报错Could not load dynamic library ‘cudart64_100.dll‘‘cublas64_100.dll‘…

解决方法2:
如果使用的是CPU,可以采用这种方法,在程序开头中加入以下代码:

#加入忽略
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

对于这两行代码什么意思我们还是简单了解一下:
参考链接: 从源码求证tensorflow中os.environ[“TF_CPP_MIN_LOG_LEVEL”]的值的含义.

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '0'  # 0也是默认值,输出所有信息
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'  # 屏蔽通知信息
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'  # 屏蔽通知信息和警告信息
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'  # 屏蔽通知信息、警告信息和报错信息

有点懵逼,我们看一下源码:

namespace tensorflow {
const int INFO = 0;           //base_logging::INFO;
const int WARNING = 1;        //base_logging::WARNING;
const int ERROR = 2;          //base_logging::ERROR;
const int FATAL =3;           //base_logging::FATAL;
const int NUM_SEVERITIES = 4; //base_logging::NUM_SEVERITIES;

应该很清楚了:

  1. log信息一共有四个等级,按重要性递增为:
    INFO(通知) < WARNING(警告) < ERROR(错误) < FAFAL(致命的);
  2. 值得含义:不同值设置的是基础log信息(base_loging),运行时会输出base等级及其之上(更为严重)的信息。具体如下:
base_loging屏蔽信息输出信息
“0”INFOINFO + WARNING + ERROR + FATAL
“1”WARNINGINFOWARNING + ERROR + FATAL
“2”ERRORINFO + WARNINGERROR + FATAL
“3”FATALINFO + WARNING + ERRORFATAL

注意:
1、“0”为默认值,输出所有信息
2、设置为3时,不是说任何信息都不输出,ERROR之上还有FATAL

2023-06-17 23:47:22.786162: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 2023-06-17 23:47:22.786281: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2023-06-17 23:47:24.419330: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found 2023-06-17 23:47:24.419809: W tensorflow/stream_executor/cuda/cuda_driver.cc:263] failed call to cuInit: UNKNOWN ERROR (303) 2023-06-17 23:47:24.426229: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: ����� 2023-06-17 23:47:24.426345: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: ����� 2023-06-17 23:47:24.430552: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. Traceback (most recent call last): File "C:\Users\10290\Desktop\test\writer.py", line 20, in <module> write_reward_tb(summary_writer, rewards[i], i) File "C:\Users\10290\Desktop\test\writer.py", line 9, in write_reward_tb summary = tf.Summary(value=[tf.Summary.Value(tag='reward', simple_value=reward)]) AttributeError: module 'tensorflow' has no attribute 'Summary'分析错误原因
06-18
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ONLY_AIGC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值