我知道如何从Tensorflow Hub加载预先训练的图像模型。像这样:
#load model
image_module = hub.Module('https://tfhub.dev/google/imagenet/mobilenet_v2_035_128/feature_vector/2')
#get predictions
features = image_module(batch_images)
我还知道如何自定义此模型的输出(对新数据集进行微调)。现有的Modules
期望输入batch_images
是 RGB 图像张量。
我的问题:我想使用张量(dim 20x20x128,来自不同的模型)作为 Hub 模型的输入,而不是输入特定尺寸的 RGB 图像。这意味着我需要绕过 tf-hub 模型定义的初始层(我不需要它们)。这在 tf-hub 模块 api 中可能吗?文档在这方面不清楚。
ps:我可以轻松地定义自己的层,但尝试查看是否可以使用 Tf-Hub API。
现有的https://tfhub.dev/google/imagenet/ ... 模块不支持这一点。
一般而言,hub.Module 格式允许多个签名(即输入/输出张量的组合;认为提要和提取如 tf.Session.run() 中的那样)。因此,如果有他们想要支持的通用使用模式,模块发布者可以安排它。
但是对于这种复杂程度的自由形式实验,您可能最好直接使用和调整定义模型的代码,例如 TF Slim(适用于 TF1.x)或 Keras Applications(也适用于 TF2)。两者都提供 Imagenet 预训练检查点,用于下载和恢复。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句