【发布时间】:2020-07-27 16:54:24
【问题描述】:
我正在使用 Tensorflow.js 和 Node.js 开发一个 AI 模型。作为其中的一部分,我需要以流式方式读取和解析我的大型数据集(它太大而无法同时放入内存中)。这个过程最终会产生一对生成器函数(一个用于输入数据,另一个用于输出数据)迭代生成 Tensorflow.js 张量:
function* example_parser() {
while(thereIsData) {
// do reading & parsing here....
yield next_tensor;
}
}
....包裹在一对tf.data.generator()s 中,后跟tf.data.zip()。
这个过程有时计算量很大,所以我想重构为一个单独的 Node.js 工作进程/thread,因为我知道 Node.js 以单线程方式执行 Javascript。
但是,我也知道,如果我要通过例如正常传输数据。 process.send(),序列化/反序列化会大大减慢进程,所以我最好将所有内容都放在同一个进程中。
为此,我的问题是:
如何在 Node.js 进程之间有效地传输(一串)Tensorflow.js 张量,而不会导致严重的序列化/反序列化损失?
【问题讨论】:
标签: javascript node.js tensor tensorflow.js