Нет улучшений в выводе автоэнкодера - PullRequest
0 голосов
/ 01 августа 2020

Я обучаю автоэнкодер, используя градиентную ленту для передачи нейронного стиля. Я не нахожу разницы в потерях даже через тысячи эпох. Я пробовал с разными размерами пакетов и скоростью обучения. Следует упомянуть, что он обучается во время тренировки с одним изображением, и когда я использую пакетное обучение, потери не снижаются. Мой вопрос в том, как мы должны изменить скорость обучения, если одно изображение работает нормально. 0.001 работает нормально. Для пакетного обучения я должен увеличить или уменьшить его. Пожалуйста, дайте мне знать ваши предложения вот моя функция шага поезда

#gradient tape for training

def train_step(images,step):
  c=tf.Variable(initial_value=0,dtype="float32")
  with tf.GradientTape() as tape:
    for i in range(int(5)):
      w=(i+step)%lent
      content_targets=cont[w]
      outputs = extractor(model_(images[w]))
      loss = style_content_loss(outputs,content_targets)
      total_variation_weight=30
      loss += total_variation_weight*tf.image.total_variation(model_(images[w]))
      c=c+loss
    loss=tf.reduce_mean(c) 
    print("loss:",loss) 
  gradients = tape.gradient(loss, model_.trainable_variables)
  opt.apply_gradients(zip(gradients, model_.trainable_variables))

, а это функция потерь

def style_content_loss(outputs,content_targets):
    style_outputs = outputs['style']
    content_outputs = outputs['content']
  
    style_loss = tf.add_n([tf.reduce_mean((style_outputs[name]-style_targets[name])**2) 
                           for name in style_outputs.keys()])
    style_loss *= style_weight / num_style_layers
    content_loss = tf.add_n([tf.reduce_mean((content_outputs[name]-content_targets[name])**2) 
                             for name in content_outputs.keys()])
    content_loss *= content_weight / num_content_layers
    loss = style_loss +content_loss
    
    return loss
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...