首页 > 解决方案 > tensorflow.js 将权重从一个模型复制到另一个模型

问题描述

您好)在 Tensorflow.js 中,有没有一种将训练过的权重从一个模型复制到另一个模型的最佳方法?或者如何将模型转换为字符串?我需要从一名工人那里复制训练有素的模型权重并将它们发送给另一名工人。

标签: javascripttensorflow.js

解决方案


您可以使用 获取特定层的权重tf.layers.Layer.getWeights。这将返回整个指定层的权重张量。setWeights您可以在另一个模型上设置这些权重。

要指定特定层,您可以使用该getLayer函数。这是获取特定层权重并打印它们的示例。

 tf.loadLayersModel('https://d1zv2aa70wpiur.cloudfront.net/tfjs_quant_nsfw_mobilenet/model.json')
    .then(myModel => {
      myModel.summary() // Lists layers
      const chosenLayer = myModel.getLayer('Conv_1')
      chosenLayer.getWeights()[0].print()
  })


推荐阅读