Количество ограничивающих рамок в модуле обнаружения объектов Tensorflow - PullRequest
0 голосов
/ 27 марта 2019

Я делаю вывод, используя одну из предварительно обученных моделей, обнаружение тензорных объектов.Тем не менее, конфигурация поезда модели ограничивает количество обнаружений только 5 коробками.Есть идеи, как изменить этот параметр во время вывода?

Я использую модель, обученную по ссылке .Его конфигурация здесь и здесь .Здесь max_total_detection установлено равным 5.Я не уверен, как обновить это, чтобы получить больше обновлений.

Любая помощь будет высоко оценена!

Я попытался загрузить график и увидеть переменные в предварительно обученной модели.Я нашел переменную, которая говорит "num_detections", но я не уверен, как переназначить ее с любым из кодов, которые помогают в выводе.

Во время вывода я использую код здесь

Я добавляю следующую строку:

num_detections = tf.get_default_graph().get_tensor_by_name('num_detections:0')
sess.run(tf.assign(num_detections, num_detections+10),feed_dict={image_tensor: np.expand_dims(image,0)})

Но это дает мне ошибку, говоря, что переменная не имеет какого-либо атрибута assign.Я предполагаю, что это потому, что я не могу это изменить.

Есть ли другой способ обновить его?Или мне нужно переобучить его?

Редактировать: Первый ответ сработал!Переподготовка для 1 num_steps с измененными номерами в файле конфигурации.

1 Ответ

0 голосов
/ 27 марта 2019

Во-первых, если вы хотите лагер num_detections:0, вы можете добавить к нему положительное целое число. Но я думаю, что вы можете этого не сделать, поскольку вы загружаете замороженный график, который не должен изменять значения весов и параметров.

Во-вторых, вы не можете изменить количество ящиков, даже если вы изменили значение num_detections:0. Потому что сколько ящиков хранится, определяется на шаге NMS перед операцией num_detection. Таким образом, вы просто измените неправильную переменную. Я не могу помочь вам найти правильную переменную. Простите за это.

Наконец, вы можете изменить число max_total_detections в файле конфигурации модели, чтобы сохранить больше ограничивающих рамок. Если вы не хотите обучать модель, вы можете изменить файл конфигурации, обучить 0 шагов и сохранить модель.

У кого-нибудь есть лучшее решение?

...