Модель с несколькими входами Keras - PullRequest
0 голосов
/ 09 февраля 2020

Я хочу обучить модель Keras, где на входе находится вектор размером (20, 300). Но проблема в том, что мне нужно также снабдить модель фиксированным списком векторов, которые должны использоваться на каждом этапе обучения.

список векторов фиксирован для всех обучающих примеров ... так вот что я я пробовал.

def create_model(num_filters=64, embedding_dim=300, seq_len=20):
  # input1 Shape (?,20,300)
  input1 = Input(shape=(seq_len,embedding_dim,), dtype='float32') # Input1 taken from the model input
  # input2 Shape (5,20,300)
  input2=get_input2() # Input2: taken from outside the model


  # CNN Encoding of Input 1 
  convs = []
  filter_sizes = [1,2,3]
  for fsz in filter_sizes:
    x = Conv1D(num_filters, fsz, activation='relu',padding='same')(input1)
    x = MaxPooling1D()(x)
    convs.append(x)    
  output1 = Concatenate(axis=-1)(convs)
  output1 = Flatten()(output1)


  # CNN Encoding of Input 2 
  convs1 = []
  filter_sizes = [1,2,3]
  for fsz in filter_sizes:
    x1 = Conv1D(num_filters, fsz, activation='relu',padding='same')(input2)
    x1 = MaxPooling1D()(x1)
    convs1.append(x1)    
  output2 = Concatenate(axis=-1)(convs1)
  output2 = Flatten()(output2)

Однако эта реализация выдает ошибку значения.

"ValueError: Слой conv1d_60 был вызван с вводом, который не является символом c тензор. Полученный тип:. "

Как это можно сделать в Керасе?

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