Задача состоит в том, чтобы получить вывод на каждый уровень модели pretrained cnn inceptionv3. Например, я загружаю изображение в эту сеть, и хочу получить не только его вывод, но и вывод каждого слоя (по уровню).Имена слоев для предварительно заданной начальной модели v3 (тензорный поток)
Для этого мне нужно знать имена каждого выходного слоя. Это довольно легко сделать для последнего и предварительного последнего слоя:
sess.graph.get_tensor_by_name('pool_3:0')
sess.graph.get_tensor_by_name('softmax:0')
(имена pool_3: 0 и SoftMax: 0 перечислены в источниках, относящихся к модели)
Но что, если я хочу, чтобы получить выход не только последнего и предварительного, но и пред-предварительного, предварительного пред-предварительного и т. д. вывода любого уровня этой модели?
Тогда я должен знать имена слоев. Аналогичный вопрос has been asked на StackOverflow, но есть только имена для предварительного последнего и последних слоев, которые также доступны в комментариях в источниках («pool_3: 0», «SoftMax: 0»)
Очевидный способ чтобы получить имена, нужно нарисовать график модели. Но это не тот случай because graph-drawing tool simply crashes. Также есть issue, связанный с этим.
Я также попытался:
- Чтобы напечатать все имена граф узлов и построить график, используя информацию только из имен узлов. Но имена узлов довольно загадочны. Также соединения между узлами не так очевидны, из-за inception v3 architecture Так что, зная связи между узлами, этот подход похож на разрыв кода enigma :)
- Затем я попытался нарисовать график этой модели с помощью собственного инструмента (получить все входы данного узла (скажем, «пул_3: 0»), затем получить все входы каждого входа «pool_3: 0» и т. д. Этот подход работает для простых моделей. Но когда я попытался использовать его для inceptionv3 реализация из учебника по распознаванию образов, у меня есть 16 ГБ моей оперативной памяти, затем 10 ГБ свопа, затем я просто перестаю смотреть под капот. Может быть, есть несколько циклов в графике (но как это могло быть, если сеть пересылка вперед?)
Итак, возможно, кто-то, кто участвовал в этом заранее подготовленном м odel реализация & «доставка» - это чтение stackoverflow.
Возможно, у кого-то уже есть сломанные имена для этой модели. Просьба поделиться им со мной и сообществом ml. Заранее спасибо!
На самом деле, в предварительной модели inceptionv3, поставляемой с тензорным потоком, отсутствует файл model.txt. Поэтому я спросил, где я могу скачать файл model.txt в комментарии к вопросу, на который вы указали мне. Что касается (2) - Да! Я действительно забыл о возможности повторных записей. Ваш ответ мне очень помог! –