как два разных фреймворка глубокого обучения могут использовать одну и ту же модель?

#python #tensorflow #caffe

#python #тензорный поток #caffe

Вопрос:

В примере deep dream с использованием tensorflow здесь код ссылается на модель inception5h, разработанную Google. Однако исходный код из Google здесь использует caffe, а не tensorflow, вероятно, потому, что тогда не существовало tensor flow. Как получается, что одна и та же модель может использоваться двумя разными фреймворками? В ‘deploy.prototxt’, распространяемом вместе с моделью bvlc_googlenet.caffemodel, перечислены многие уровни свертки, но реализация тензорного потока той же модели не ссылается на них и, похоже, использует гораздо меньше слоев.

Если я получу предварительную модель без файла ‘deploy.prototxt’, как я могу определить, сколько слоев имеет модель и как ссылаться на них?

Комментарии:

1. Что вы подразумеваете под ссылкой на слой?

2. посмотрите в файл prototxt, и вы поймете, что я имею в виду. Там указаны все слои в модели.

3. В Caffe net.forward() возвращает dictionary . Вы можете использовать имя слоя в качестве индекса, чтобы получить выходные данные требуемого слоя, например net.forward()["mylayer"] .

Ответ №1:

Если я получу предварительно подготовленную модель без файла ‘deploy.prototxt’, как я могу определить, сколько слоев имеет модель

Вы можете визуализировать свою модель, используя draw_net.py скрипт, поставляемый с caffe.