Как узнать название каждого слоя моделей изображений Tensorflow Slim? - PullRequest
0 голосов
/ 06 июня 2018

Я собираюсь настроить некоторые модели изображений из предварительно обученных моделей, представленных в: https://github.com/tensorflow/models/tree/master/research/slim

Вот шаблон сценария finetune:

$ DATASET_DIR=/tmp/flowers
$ TRAIN_DIR=/tmp/flowers-models/inception_v3
$ CHECKPOINT_PATH=/tmp/my_checkpoints/inception_v3.ckpt
$ python train_image_classifier.py \
    --train_dir=${TRAIN_DIR} \
    --dataset_dir=${DATASET_DIR} \
    --dataset_name=flowers \
    --dataset_split_name=train \
    --model_name=inception_v3 \
    --checkpoint_path=${CHECKPOINT_PATH} \
    # Please notice the 2 lines below
    --checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \ 
    --trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits

Последние 2 строки - это слои, которые мы хотим отладить, приведенный выше пример предназначен только для модели Inception.

Интересно, как мы можем узнать точное название этого слоя, например InceptionV3/Logits?И если я делаю finetune для ResNet, какое имя мне следует ввести в шаблон?Есть ли формальный способ получить график сети, чтобы узнать все имена слоев?

1 Ответ

0 голосов
/ 08 июня 2018

Когда вы загружаете свою модель с slim, у вас должны быть две переменные: выходной тензор сети и словарь компонентов сети (что вы ищете)

Этопростой демонстрационный код:

input_image = tf.placeholder('float32', [batch_size, image_size, image_size, 3])
net, end_points = inception.inception_v3(input_image)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...