我正在批量训练模型,因此将其权重保存到JSON中以进行存储/发送。
我现在需要将它们重新加载到张量中-有合适的方法吗?
tensor.data().then(d => JSON.stringify(d));
// returns
{"0":0.000016666666851961054,"1":-0.00019999999494757503,"2":-0.000183333337190561}
我可以手动遍历此转换,然后将其转换回数组-但是感觉API中可能有某些功能可以使此操作更清洁?
答案 0 :(得分:1)
无需对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)