Cannot import @tensorflow/tfjs-node into my program. I was trying to import it as follows:
const tf = require('@tensorflow/tfjs-node')
And received an error as follows:
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)
But when i try to import @tensorflow/tfjs as
const tf = require('@tensorflow/tfjs')
No error was encountered.
I installed @tensorflow/tfjs-node using npm as
sudo npm install @tensorflow/tfjs-node
Then got an output (follows):
@tensorflow/[email protected] 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 [email protected] No repository field.
+ @tensorflow/[email protected]
updated 1 package and audited 276 packages in 12.428s
found 0 vulnerabilities```
There are two problems here.
Installation of the package as root
You want to install the dependencies as root but npm will not run as root by default. Pass the following arguments to enable root privileges:
sudo npm install @tensorflow/tfjs-node --unsafe-perm=true --allow-root
You should also reconsider using another (not root) to run your script.
Tensorflow.js require
The require of tensorflow/tfjs-node
will not work the way you do it, the package @tensorflow/tfjs-node
will not export anything and is only required to use the native C++ bindings.
Here is how it should be done (quote from the tutorial):
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
I had the same issue and solved it by running the command below at node_modules/@tensorflow/tfjs-node
$ cd node_modules/@tensorflow/tfjs-node/
$ npm install
> @tensorflow/[email protected] 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
Also you might want to try with 1.2.6 of tfjs-node, which I was able to work.
https://github.com/tensorflow/tfjs-node#mac-os-x-requires-xcode
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With