我想使用以下函数保存node.js中的训练模型
async function tfModelExperiment(model) {
try {
let tsModelTraining = await model.save('file:///tmp/my-model-1');
}
catch (error) {
console.log(error);
}
}
但在保存模型时它返回
(node:23756)未处理承诺拒绝警告:错误:无法找到URL“txtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtxtx
我发现另一个人挣扎与这个问题,但它是固定的,包括
const tf = require('@tensorflow/tfjs');
我已经有了,我试着把目录改为我的主目录,但这没有解决问题,也没有运行它作为sudo,我可能做错了什么?
- 软件**我使用的是Ubuntu Ubuntu 18.04.1 LTS,其中最新的TensorFlow.js包(0.13.0)随npm一起安装
- 编辑:**
应该指出的是我试过
import * as tf from '@tensorflow/tfjs';
import '@tensorflow/tfjs-node';
如这里所提供的(https://github.com/caisq/tfjs-node),它返回
TypeError: tf.sequential is not a function at file:///home/sjors/node.mjs:7:18 at ModuleJob.run (internal/loader/ModuleJob.js:94:14) at
我试过了:
const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');
返回与之前相同的UnhandledPromiseRejectionWarning
错误
5条答案
按热度按时间e4yzc0pl1#
在github的tfjs的人的帮助下,我现在可以工作了。
基本上,您只需要安装tfjs-node依赖项:
第一个月
然后你可以只要求tfjs和它应该工作。
dsf9zpds2#
你的异步函数读取其中的
await
行并执行一个JSpromise
。promise是JS编译器执行一段远程代码并向异步函数保证一个值将在未来传递给它(因此得名promise)。因此,在您的示例中,Node正在查看
model.save('file:///tmp/my-model-1')
,但没有找到任何可以处理来自承诺的响应的.save
方法,这就是为什么您的错误会讨论未处理的响应/承诺。这个问题的最后一部分是说你也没有任何错误处理程序。使用
async/await
JS模式,你通常把你的await
调用 Package 在try
中,把你的错误处理程序 Package 在catch
中。最后,你提到了
require
代码修复了这个问题。require
所做的是让你的JS文件访问tensorflow库,这将修复model.save()错误。但是在JS的新版本(称为ES6/7/8)中,require
已经被import
所取代-它们完成了同样的事情,但看起来有点不同。总的来说,您的JS代码看起来像这样:
nc1teljy3#
我在尝试使用www.example.com()时遇到了同样的问题**“找不到URL的任何保存处理程序”**model.save。我的问题的解决方案略有不同。
最后我删除了之前的软件包并进行了本地安装(npm install package_name)而不是全局安装(npm install -g package_name),然后我将本地node_modules复制到了它们进行全局安装时所在的位置:
以下不install @tensorflow/tfjs或其他29个相关包(adm-zip... yallist):
是的*,如果您想了解权限,我以root用户身份发出了命令。*
我使用的是npm v6.4.1:
f0brbegy4#
我使用了https://www.npmjs.com/package/tfjs-node-save中的
tfjs-node-save
,并且成功了。过程:
npm i @tensorflow/tfjs
npm i tfjs-node-save
代码:大部分与@Jonas相同
uurv41yg5#
在ubuntu上使用bun时遇到过同样的错误:
bun run mytensor.ts
.更改导入队列时(第一个应为tfjs-node
):那就用
npm and node mytensor.js
吧,现在可以用了,很显然,Typescript和bun节点是不被接受的