javascript - tfjs-node-gpu Windows 上的 ELF header 无效

标签 javascript node.js windows tensorflow

我正在尝试运行 tensorflow/tfjs-examples/mnist-node在带有 GPU 的 Windows 上。

克隆存储库并安装依赖项后,我可以使用 CPU 运行该示例。但是,当我尝试安装 @tensorflow/tfjs-node-gpu 并运行示例时,我得到的是:

Registration of backend tensorflow failed
Error: The specified module could not be found.    
\\?\C:\Users\noob\Desktop\tfjs-examples\mnist-node\node_modules\@tensorflow\tfjs-node-gpu\build\Release\tfjs_binding.node
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:718:18)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at bindings (C:\Users\noob\Desktop\tfjs-examples\mnist-node\node_modules\bindings\bindings.js:81:44)
    at C:\Users\noob\Desktop\tfjs-examples\mnist-node\node_modules\@tensorflow\tfjs-node-gpu\dist\index.js:10:60
    at Environment.registerBackend (C:\Users\noob\Desktop\tfjs-examples\mnist-node\node_modules\@tensorflow\tfjs-core\dist\environment.js:188:27)
    at Object.<anonymous> (C:\Users\noob\Desktop\tfjs-examples\mnist-node\node_modules\@tensorflow\tfjs-node-gpu\dist\index.js:9:9)

根据tfjs-node ,看来我已经符合要求了。这是我的环境:

环境:

  • Node v10.9.0

  • NVCC 9.2 V9.2.148

  • Windows 10 版本 1803 内部版本 17738.1000

最佳答案

好的,问题解决了。我必须安装 CUDA v9.0 而不是 v9.2。卸载并重新安装后即可再次使用。

如果有人遇到类似问题,这里有一些教程。

  1. 首先下载CUDA 9.0cuDNN v7 for CUDA 9.0,安装CUDA 9.0。

  2. 将 cuDNN 文件提取到 CUDA 安装文件夹。 (默认为C:\Program Files\NVIDIA GPU Compute Toolkit\CUDA\v9.0)

  3. 添加C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA\v9.0\binC:\Program Files\NVIDIA GPUComputing Toolkit\CUDA\v9 .0\lib\x64 到 PATH。

  4. 在 tfjs-examples\mnist-node 中运行 node main,现在就可以工作了。

第一次可能会卡在正在添加可见的gpu设备:0大约2~5分钟,等待即可。我会工作。

顺便说一句,您还不能在 WSL 模式下使用 GPU。

关于javascript - tfjs-node-gpu Windows 上的 ELF header 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52129822/

相关文章:

javascript - 为什么位缓冲区和缓冲区给我不同的输出?

c# - 如何获取当前用户目录?

c++ - 是否有用于 Visual C++ 或其他 IDE 的工具,允许超过 1 个程序员(在线)同时处理同一个项目?

Php 从 URL 获取哈希值

javascript - Mongoose 索引已经存在,有不同的选项

node.js - 尝试在reactjs中使用GET将状态设置为一个值,

c++ - QT运行SAPI报错

javascript - 使用循环清除 svg 多个子项不起作用

javascript - 多个元素循环移动 - 平滑过渡

JavaScript 计算视口(viewport)宽度/高度