tensorflow - tensorflow-gpu 2.0alpha0 的错误
问题描述
我在 Windows 10 中安装了 tensorflow-gpu 2.0alpha0、cudatoolkit 10.0.130 和 cudnn 7.5。
TensorFlow 2.0 在 CPU 上运行良好,但在使用 GPU 运行时遇到错误。
错误信息如下:
2019-04-02 23:47:38.646661: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-04-02 23:47:38.666653: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'nvcuda.dll'; dlerror: nvcuda.dll not found
2019-04-02 23:47:38.666842: E tensorflow/stream_executor/cuda/cuda_driver.cc:318] failed call to cuInit: UNKNOWN ERROR (303)
我认为主要问题是“Could not dlopen library 'nvcuda.dll'”。
但是,我已经安装了最新的 NVIDIA 驱动程序(版本 419.67),并且可以在 C:\Windows\System32\nvcuda.dll 中找到“nvcuda.dll”。
解决方案
它的这种方法在 Tensorflow 中失败了:
port::StatusOr<void*> GetDsoHandle(const string& name, const string& version) {
auto filename = port::Env::Default()->FormatLibraryFileName(name, version);
void* dso_handle;
port::Status status =
port::Env::Default()->LoadLibrary(filename.c_str(), &dso_handle);
if (status.ok()) {
LOG(INFO) << "Successfully opened dynamic library " << filename;
return dso_handle;
}
基本上,这意味着 Tensorflow 在您的 windows 环境中无法从 PATH 变量中找到 nvcuda。要添加环境变量,请执行以下操作:
视窗 10 和视窗 8
- 在搜索中,搜索然后选择:系统(控制面板)
- 单击高级系统设置链接。
- 单击环境变量。在系统变量部分中,找到 PATH 环境变量并选择它。单击编辑。
- 如果 PATH 环境变量不存在,请单击新建。
- 在编辑系统变量(或新系统变量)窗口中,添加路径值 C:\Windows\System32\nvcuda.dll。单击确定。单击确定关闭所有剩余的窗口。
PS:确保你已经安装了cuDNN
推荐阅读
- javascript - 如何让 XMLRequest 等待一段时间,直到发出 GET 请求?
- jquery - 使用 jquery 切换复选框并隐藏 div 之外的切换
- visual-studio - Visual Studio 预编译头文件阻止编译器识别 std::cout
- sql - Vertica LISTAGG 未定义
- javascript - 排除行事件中的单列
- python - 创建新脚本时有没有办法“自动加载”python变量?
- javascript - 单元测试:茉莉花
- gradle - 如何在初始化脚本中设置全局 Gradle 属性?
- swift - 如何在控制器加载后以编程方式添加视图
- java - 有没有理由不使用 Java 8 的 parallelSort?