Можно ли получить выход промежуточного слоя после TensorRT? - PullRequest
0 голосов
/ 17 января 2020

Теперь у нас есть обученная сеть для задачи классификации. Верхняя часть сети имеет вид top of the network

, поэтому слой relu_fc1 напоминает извлеченные объекты, затем softmax для прогнозирования класса.

Теперь мы хотим извлечь эти функции напрямую. В обычном случае мы можем сделать это:

y = sess.graph.get_tensor_by_name('relu_fc1:0') sess.run(y,...)

Это здорово, но мы все еще хотим сделать это быстрее, поэтому мы используем TensorRT для преобразования сохраненной модели. Однако после преобразования мы не можем получить правильный тензор в relu_fc1 , потому что TensorRT перепутал операцию и создал что-то вроде TRTENgineOp_1.

Так что я хочу знать, есть ли способ получить выход промежуточного слоя после TensorRT? Я думаю, может быть, нам будет проще удалить последние слои в сети, а затем выполнить преобразование, но мы не можем найти практических материалов для удаления слоев в тензорном потоке. Спасибо за любую идею.

...