我正在使用ml5.js,它是 tensorflowjs 的包装器。我想在浏览器中训练神经网络,下载权重,在 pyTorch 中将它们作为张量处理,然后将它们加载回浏览器的 tensorflowjs 模型中。如何在这些格式之间进行转换tfjs <-> pytorch
?
浏览器模型具有save()
生成三个文件的功能。特定于 ml5.js 的元数据文件 (json)、描述模型架构的拓扑文件 (json) 和二进制权重文件 (bin)。
// Browser
model.save()
// HTTP/Download
model_meta.json (needed by ml5.js)
model.json (needed by tfjs)
model.weights.bin (needed by tfjs)
# python backend
import json
with open('model.weights.bin', 'rb') as weights_file:
with open('model.json', 'rb') as model_file:
weights = weights_file.read()
model = json.loads(model_file.read())
####
pytorch_tensor = convert2tensor(weights, model) # whats in this function?
####
# Do some processing in pytorch
####
new_weights_bin = convert2bin(pytorch_tensor, model) # and in this?
####
这是在浏览器中生成和加载 3 个文件的示例 javascript 代码。要加载,请在对话框中一次选择所有 3 个文件。如果它们是正确的,弹出窗口将显示一个示例预测。