【问题标题】:.infer() embeddings equivalent for a layersModel.infer() 嵌入等效于 layersModel
【发布时间】:2020-09-21 08:50:05
【问题描述】:

我正在使用 TensorFlow.js,我有兴趣获取嵌入而不是预训练模型的 logits,正如 https://github.com/tensorflow/tfjs-models/tree/master/mobilenet for MobileNet 中所述(“获取嵌入”)

使用加载的经典 MobileNet 模型 const model = await mobilenet.load(),例如,您可以使用 model.infer(image, 'conv_preds'),它工作正常,您可以进行迁移学习。

但是,infer 方法不适用于我使用 loadLayersModel() 加载的离线模型。在环顾四周 (for example) 之后,我尝试使用 get_layer 访问图层的输出,但没有成功。

我是否需要创建和导出一个新模型,该模型输出我感兴趣的图层,然后我将其加载为新的layersModel 并使用?没有别的办法吗?

任何建议将不胜感激

【问题讨论】:

    标签: tensorflow keras tensorflow.js


    【解决方案1】:

    试试这个

    async function loadMobilenet() { 
    const mobilenet = await tf.loadLayersModel('https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_224/model.json');
          const layer = mobilenet.getLayer('conv_pw_13_relu');
       return tf.model({inputs: mobilenet.inputs, outputs: layer.output}); }
    

    获取嵌入:

    const activation = mobilenet.predict(img);
    

    【讨论】:

      猜你喜欢
      • 2014-11-03
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 2020-09-24
      • 2016-05-15
      • 1970-01-01
      相关资源
      最近更新 更多