Перенос обучения в тензор потока - PullRequest
0 голосов
/ 10 июля 2019

Я бы хотел перенести вес из предварительно обученной MobileNet.Предварительная подготовка выполняется в сети изображений, и мне нужно передавать только карты функций (но не голову сети).Этот процесс объясняется следующей ссылкой в ​​керасе с моделями, загруженными на эту платформу.

https://www.tensorflow.org/tutorials/images/transfer_learning

К сожалению, моя модель находится в тензорном потоке и не является керасом Последовательный:

def model(imagesize):
   with tf.variable_scope('init_conv'):
        output = tc.layers.conv2d(self.input, 32, 3, 2,
                                      normalizer_fn=self.normalizer, 
                                    normalizer_params=self.bn_params)
        self.output = self._inverted_bottleneck(output, 1, 16, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 24, 1)  
        self.output = self._inverted_bottleneck(self.output, 6, 24, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 32, 1)
        self.output = self._inverted_bottleneck(self.output, 6, 32, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 32, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 64, 1)
        self.output = self._inverted_bottleneck(self.output, 6, 64, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 64, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 64, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 96, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 96, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 96, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 160, 1)
        self.output = self._inverted_bottleneck(self.output, 6, 160, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 160, 0)
        self.output = self._inverted_bottleneck(self.output, 6, 320, 0)
        self.output = tc.layers.conv2d(self.output, 1280, 1, 
        activation_fn=tf.nn.relu6, normalizer_fn=self.normalizer,
                                       normalizer_params=self.bn_params)
   return self.output

Мои вопросы: 1- Как я могу выполнить передачуучусь?2- Могу ли я загрузить свою предварительно обученную модель, заморозить некоторые слои и изменить заголовок сети в tf?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...