Настроить вход для модуля Tensorflow Hub - PullRequest
0 голосов
/ 20 мая 2019

Я знаю, как загрузить предварительно обученные модели изображений из 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.

Мой вопрос : Вместо ввода, являющегося изображением RGB определенных размеров, я хотел бы использоватьтензор (тусклый 20x20x128, от другой модели) в качестве входных данных для модели Hub.Это означает, что мне нужно обойти начальные слои определения модели tf-hub (они мне не нужны).Возможно ли это в API модуля TF-Hub?Документация не ясна по этому аспекту.

ps: я могу легко сделать это, определяя свои собственные слои, но пытаясь понять, могу ли я использовать API Tf-Hub.

1 Ответ

1 голос
/ 24 мая 2019

Существующие https://tfhub.dev/google/imagenet/... модули не поддерживают это.

Вообще говоря, формат hub.Module допускает множественные подписи (то есть комбинации тензоров ввода / вывода; интеллектуальные каналы и выборки, как в tf.Session.run ()). Так что издатели модулей могут договориться об этом, если есть общий шаблон использования, который они хотят поддерживать.

Но для экспериментов в свободной форме на этом уровне сложности вам, вероятно, лучше напрямую использовать и настраивать код, который определяет модели, такие как TF Slim (для TF1.x) или Keras Applications (также для TF2). Оба предоставляют предварительно подготовленные контрольные точки Imagenet для загрузки и восстановления на стороне.

...