Теперь у нас есть обученная сеть для задачи классификации. Верхняя часть сети имеет вид
, поэтому слой relu_fc1 напоминает извлеченные объекты, затем softmax для прогнозирования класса.
Теперь мы хотим извлечь эти функции напрямую. В обычном случае мы можем сделать это:
y = sess.graph.get_tensor_by_name('relu_fc1:0')
sess.run(y,...)
Это здорово, но мы все еще хотим сделать это быстрее, поэтому мы используем TensorRT для преобразования сохраненной модели. Однако после преобразования мы не можем получить правильный тензор в relu_fc1 , потому что TensorRT перепутал операцию и создал что-то вроде TRTENgineOp_1.
Так что я хочу знать, есть ли способ получить выход промежуточного слоя после TensorRT? Я думаю, может быть, нам будет проще удалить последние слои в сети, а затем выполнить преобразование, но мы не можем найти практических материалов для удаления слоев в тензорном потоке. Спасибо за любую идею.