Импорт экстрактора объектов в API обнаружения объектов Tensorflow - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь импортировать архитектуру на основе ResNet в качестве средства извлечения для SSD .Поскольку моему приложению требуется работа в реальном времени, я пытался использовать разные глубины ResNet (resnet-10, resnet-16, resnet-24 и т. Д.).

Я прочитал Определение нового Faster R-CNN или SSD Feature Extractor учебник, и попытался провести себя через object_detection/models/ssd_resnet_v1_ppn_feature_extractor (и fpn тоже).

Дело в том, что я получаю архитектуру resnet-10 (например) из пакета Python tenorflowcv , который реализован через Keras, и я определяю функцию resnet10_baseкак переопределение get_resnet , как показано ниже, так что он игнорирует последние слои, которые делают его классификатором.

Мое переопределение get_resnet:

 01  def resnet10_base(model_name='resnet10', root=os.path.join("~", ".tensorflow", "    models")):
 02   layers = [1,1,1,1]
 03   assert (sum(layers) * 2 + 2 == blocks)
 04 
 05   init_block_channels = 64
 06   channels_per_layers = [64, 128, 256, 512]
 07 
 08   channels = [[ci] * li for (ci, li) in zip(channels_per_layers, layers)]
 09 
 10   if pretrained:
 11     if (model_name is None) or (not model_name):
 12       raise ValueError("Parameter `model_name` should be properly initialized fo    r loading pretrained model.")
 13     from .model_store import download_state_dict
 14     net.state_dict, net.file_path = download_state_dict(
 15       model_name=model_name,
 16       local_model_store_dir_path=root)
 17 
 18   return net

И я не могу понять, как создать функцию extract_features(), которую запрашивает SSDKerasFeatureExtractor.Например, мне нужно создать TFSession и запустить там сеть?Или я должен вернуть тензор?Как мне этого добиться?

Заранее спасибо, извините за неудобства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...