Tensorflow - смысл layer.output - PullRequest
       27

Tensorflow - смысл layer.output

0 голосов
/ 19 февраля 2020

Я следую учебному пособию по NST на веб-странице tenorflow docs, и я нахожусь в этом блоке, где мы создаем новую модель из результатов предварительно обученной модели VGG19.

def vgg_layers(layer_names):
  """ Creates a vgg model that returns a list of intermediate output values."""
  # Load our model. Load pretrained VGG, trained on imagenet data
  vgg = tf.keras.applications.VGG19(include_top=False, weights='imagenet')
  vgg.trainable = False

  outputs = [vgg.get_layer(name).output for name in layer_names]

  model = tf.keras.Model([vgg.input], outputs)
  return model

У нас есть список имена слоев в модели VGG19 (т.е. block1_conv1). Из предварительно обученной модели мы получаем выходные данные каждого слоя, указанного в списке имен. Затем мы строим новый model, передавая эти outputs как конечный результат новой модели.

Что я не совсем понимаю, так это то, как у модели с предварительным обучением VGG19 outputs, прежде чем мы ' Вы прошли через него вход? Возможно, я неправильно понимаю, что означает outputs, но, насколько я понимаю, при input слой будет вычислять output. Но без этого input, как он может обеспечить output, который имеет какое-либо применение?

Кроме того, с помощью NST мы на самом деле не обучаем модель, а применяем градиент к изображению (input) сам. Итак, если мы создаем новый Model с нуля, значит ли это, что все его веса не обучены?

tl; dr: Что такое Layer.outputs? И почему они все, что нам действительно нужно от предварительно обученной модели? Как передача этих выходов в новую модель, созданную с нуля, по-прежнему передает знания из предварительно обученного VGG19?

1 Ответ

0 голосов
/ 19 февраля 2020

enter image description here Таким образом, слои имеют как вход, так и выход. Вы можете думать об узле как о центральном: входящие ребра дают ему информацию в виде весов, а исходящие ребра выходят из узла в виде новых весов (после применения активации fxn) Вы создаете модель, подключая вход и выводить слои на узлы. Узлы и их активации присущи модели vgg!

...