Модель Tensorflow с подклассами Mutli-Input - PullRequest
2 голосов
/ 15 января 2020

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

Разрешает ли API подклассов TF2.0 / Keras для взаимного ввода?

Ввод в мою функциональную модель, и сборка просто:

word_in = Input(shape=(None,))  # sequence length
char_in = Input(shape=(None, None)) 
... layers...
m = Model(inputs=[word_in, char_in], outputs=[output_1, output_2])

1 Ответ

1 голос
/ 15 января 2020

Подклассовая модель для нескольких входов не отличается от аналогичной модели с одним входом.

class MyModel(Model):
    def __init__(self):
        super(MyModel, self).__init__()
        # define layers
        self.dense1 = Dense(10, name='d1')
        self.dense2 = Dense(10, name='d2')

    def call(self, inputs):
        x1 = inputs[0]
        x2 = inputs[1]
        # define model
        return x1, x2

Вы можете определить свои слои в __init__ и определить свою модель в методе call.

word_in = Input(shape=(None,))  # sequence length
char_in = Input(shape=(None, None)) 

model = MyModel()
model([word_in, char_in])
# returns 
# (<tf.Tensor 'my_model_4/my_model_4/Identity:0' shape=(?, ?) dtype=float32>,
# <tf.Tensor 'my_model_4/my_model_4_1/Identity:0' shape=(?, ?, ?) dtype=float32>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...