TFLite 在 Node 中需要时给出 Blob is not defined 错误
TFLite gives Blob is not defined error when it is required in Node
TFLite 节点模块在 Node.js 中需要时给出错误,它给出“Blob 未定义”错误。
https://www.npmjs.com/package/@tensorflow/tfjs-tflite
index.js 文件
require("@tensorflow/tfjs-tflite");
package.json 文件
{
"name": "tfjs tflite test",
"version": "1",
"description": "",
"main": "index.js",
"scripts": {
},
"license": "UNLICENSED",
"dependencies": {
"@tensorflow/tfjs-tflite": "0.0.1-alpha.4",
}
}
您可以在此处查看错误日志:
https://i.stack.imgur.com/PInqK.png
TFLite 适用于网络 - 来自 tflite's documentation:“此软件包使用户能够 运行 网络上的任意 TFLite 模型”。但显然,您 运行 在网络环境之外 - 在 Node.
中使用它
TFLite 包含一个使用 Blob
解析字符串化 JS 的语句,如您在 tf-tflite.node.js:1261
中所见。 Blob
不为 Node 所知,这就是为什么在模块解析启动后你会得到 ReferenceError
的原因。
您有多种选择可以在测试中绕过它:
- 如果你真的想主要在 Node 中使用 TF,那么你使用了错误的包。 TF的documentation suggests tfjs-node代替。
- 如果您想 运行 主要在浏览器(网络)中使用 TF,请确保您 run your Mocha tests in a browser
- 或者在您的测试套件中包含一个用于 Node 的 Blob polyfill
- 或者因为您使用的是 CommonJS 模块解析,您可以通过使用 spies/mocks 避免 TFLite 成为 运行 并使用 rewire
替换依赖项
TFLite 节点模块在 Node.js 中需要时给出错误,它给出“Blob 未定义”错误。 https://www.npmjs.com/package/@tensorflow/tfjs-tflite
index.js 文件
require("@tensorflow/tfjs-tflite");
package.json 文件
{
"name": "tfjs tflite test",
"version": "1",
"description": "",
"main": "index.js",
"scripts": {
},
"license": "UNLICENSED",
"dependencies": {
"@tensorflow/tfjs-tflite": "0.0.1-alpha.4",
}
}
您可以在此处查看错误日志: https://i.stack.imgur.com/PInqK.png
TFLite 适用于网络 - 来自 tflite's documentation:“此软件包使用户能够 运行 网络上的任意 TFLite 模型”。但显然,您 运行 在网络环境之外 - 在 Node.
中使用它TFLite 包含一个使用 Blob
解析字符串化 JS 的语句,如您在 tf-tflite.node.js:1261
中所见。 Blob
不为 Node 所知,这就是为什么在模块解析启动后你会得到 ReferenceError
的原因。
您有多种选择可以在测试中绕过它:
- 如果你真的想主要在 Node 中使用 TF,那么你使用了错误的包。 TF的documentation suggests tfjs-node代替。
- 如果您想 运行 主要在浏览器(网络)中使用 TF,请确保您 run your Mocha tests in a browser
- 或者在您的测试套件中包含一个用于 Node 的 Blob polyfill
- 或者因为您使用的是 CommonJS 模块解析,您可以通过使用 spies/mocks 避免 TFLite 成为 运行 并使用 rewire 替换依赖项