首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法导入nodejs中的@tensorflow/tfjs节点

无法导入nodejs中的@tensorflow/tfjs节点
EN

Stack Overflow用户
提问于 2019-08-17 14:58:43
回答 2查看 9.8K关注 0票数 7

无法将@tensorflow/tfjs-节点导入我的程序。我试图按以下方式导入它:

代码语言:javascript
复制
const tf = require('@tensorflow/tfjs-node')

并收到如下错误:

代码语言:javascript
复制
internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module '/home/nama/working/Canvas-WEB/node_modules/@tensorflow/tfjs-node/lib/napi-v4/tfjs_binding.node'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/nama/working/Canvas-WEB/node_modules/@tensorflow/tfjs-node/dist/index.js:44:16)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

但是当我试图导入@tensorflow/tfjs时

代码语言:javascript
复制
const tf = require('@tensorflow/tfjs')

没有遇到任何错误。

我使用npm安装了@tensorflow/tfjs节点

代码语言:javascript
复制
sudo npm install @tensorflow/tfjs-node

然后得到一个输出(如下):

代码语言:javascript
复制
@tensorflow/tfjs-node@1.2.7 install /home/nama/working/Canvas-WEB/node_modules/@tensorflow/tfjs-node


node scripts/install.js

CPU-linux-1.2.7.tar.gz
(node:29606) UnhandledPromiseRejectionWarning: Error: EACCES: permission denied, mkdir '/home/nama/working/Canvas-WEB/node_modules/@tens
orflow/tfjs-node/deps'
(node:29606) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async 
function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:29606) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not h
andled will terminate the Node.js process with a non-zero exit code.
npm WARN canvas-web@1.0.0 No repository field.

+ @tensorflow/tfjs-node@1.2.7
updated 1 package and audited 276 packages in 12.428s
found 0 vulnerabilities```
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-17 18:06:43

这里有两个问题。

将包安装为根

您希望将依赖项安装为root,但默认情况下npm不会作为root运行。传递以下参数以启用根权限:

代码语言:javascript
复制
sudo npm install @tensorflow/tfjs-node --unsafe-perm=true --allow-root

您还应该重新考虑使用另一个(而不是根)来运行脚本。

Tensorflow.js需要

tensorflow/tfjs-node的要求不会像您那样工作,包@tensorflow/tfjs-node不会导出任何东西,只需要使用本机C++绑定。

下面是应该怎么做(引用教程的话):

代码语言:javascript
复制
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
票数 3
EN

Stack Overflow用户

发布于 2019-08-19 08:20:39

我也遇到了同样的问题,并通过在node_modules/@tensorflow/tfjs-node上运行下面的命令来解决它

代码语言:javascript
复制
$ cd node_modules/@tensorflow/tfjs-node/
$ npm install
> @tensorflow/tfjs-node@1.2.6 install /Users/tomoima525/workspace/javascript/tensorflow/baseball/node_modules/@tensorflow/tfjs-node
> node scripts/install.js

CPU-darwin-1.2.7.tar.gz
* Building TensorFlow Node.js bindings

另外,您可能想尝试使用1.2.6的,我能够使用它。

https://github.com/tensorflow/tfjs-node#mac-os-x-requires-xcode

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57537386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档