Используйте tf.keras.layers.concatenate () как пользовательский слой в tenorflow - PullRequest
1 голос
/ 22 февраля 2020

Я хочу сделать U- net используя пользовательские слои в tenorflow. Мне нужно использовать tf.keras.layers.concatenate, и это моя проблема. Входные тензоры для всех остальных слоев я могу добавить к слою при вызове метода. Но синтаксис для слоя сцепления - tf.keras.layers.concatenate (вход, ось), и мне нужно что-то вроде этого tf.keras.layers.concatenate (ось) (вход), но это не работает. Кто-нибудь может мне помочь, пожалуйста?
Спасибо.

Мой код выглядит примерно так:

class MyModel(tf.keras.Model):
  def __init__(self):
    super(MyModel, self).__init__()
    self.block1 = Conv2D(.....)
    self.block2 = BatchNormalization()
    ....etc.....
    self.decoder_concat = tf.keras.layers.concatenate(axis=-1) #that i need but it does not work

  def call(self, inputs):
     x = self.block1(inputs)
     x = self.block2(x)
     ....etc......
     x = self.decoder_concat([x, concatLayer]) #that i need but it does not work

1 Ответ

0 голосов
/ 05 мая 2020

Предоставление решения здесь (раздел «Ответ»), даже если оно присутствует в разделе комментариев, на благо сообщества.

После изменения tf.keras.layers.concatenate на tf.keras.layers.Concatenate проблема решена.

tf.keras.layers.Concatenate, который используется в качестве слоя, объединяющего список входных данных в Tensorflow, где tf.keras.layers.concatenate действует как функциональный интерфейс для уровня Concatenate. Пожалуйста, обратитесь более подробную информацию здесь

Пожалуйста, обратитесь обновленный код ниже

class MyModel(tf.keras.Model):
  def __init__(self):
    super(MyModel, self).__init__()
    self.block1 = Conv2D(.....)
    self.block2 = BatchNormalization()
    ....etc.....
    self.decoder_concat = tf.keras.layers.Concatenate(axis=-1) #that i need but it does not work

  def call(self, inputs):
     x = self.block1(inputs)
     x = self.block2(x)
     ....etc......
     x = self.decoder_concat([x, concatLayer]) #that i need but it does not work
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...