javascript - Tensorflow JS - 将张量转换为 JSON,然后再转换回张量

标签 javascript tensorflow tensorflow.js

我正在批量训练模型,因此将其权重保存到 JSON 中以存储/发送。

我现在需要将它们加载回张量 - 有正确的方法吗?

tensor.data().then(d => JSON.stringify(d));

// returns
{"0":0.000016666666851961054,"1":-0.00019999999494757503,"2":-0.000183333337190561}

我可以迭代这个并手动转换回数组 - 但感觉 API 中可能有一些东西可以让这个更干净?

最佳答案

不需要对 data() 的结果进行字符串化。为了保存张量并在以后恢复它,需要两件事:数据形状和数据扁平化数组。

s = tensor.shape 
// get the tensor from backend 

saved = {data: await s.data, shape: shape}
retrievedTensor = tf.tensor(saved.data, saved.shape)

使用 array 或 arraySync 时给出两条信息 - 生成的 typedarray 与张量具有相同的结构

saved = await tensor.array()
retrievedTensor = tf.tensor(saved)

关于javascript - Tensorflow JS - 将张量转换为 JSON,然后再转换回张量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57207573/

相关文章:

javascript - 是否有将日志调用添加到 Protractor 中的控制流的日志函数?

python - 如何确保 tensorflow Python中的softmax层数组具有正确的尺寸

javascript - 机器学习模型中的无效元素类型

javascript - 当滚动到顶部时,我的所有对象同时可见

javascript - 在 JavaScript 中将数组中的项目与表项目进行比较,初学者

python - 构建 tensorflow 数据集迭代器,生成具有特殊结构的批处理

Python 无法将 tensorflow 导入 Mac OS X 10.8

javascript - TensorFlow JS 异常 - 无法开始训练,因为正在进行另一个 ft() 调用

TensorFlow.js 调整 3D 张量大小

javascript - 如何在JS中正确解析Date?