Общий запрос во время обучения - PullRequest
0 голосов
/ 18 декабря 2018

Следующие условия должны быть одинаковыми.Насколько я знаю, я думаю, что они одинаковы.Пожалуйста, ведите меня.

def Model_a():
  return Model(inputs=inputs, outputs=outputs, name='Model1')
def Model_b():
  return Model(inputs=inputs, outputs=outputs, name='Model2')
def Model_1(Model_a, Model_b):
  return Model(inputs=inputs, outputs=[output1,output2])
def Model_2(Model_a, Model_b):
  return Model(inputs=inputs, outputs=outputs)

#Condition 1
Model_1.train_on_batch(x,[y,z])


#Condition 2
Model_2.train_on_batch(x,z)
Model_b.train_on_batch(x,y)

1 Ответ

0 голосов
/ 18 декабря 2018

Пусть есть два выхода для одного входа.У Model_a есть выходной файл output_a, а у Model_b есть выходной файл output_b.

def Model_a(): 
      output_a =   ...  (layers of model_a)
      return Model(inputs=inputs, outputs=output_a, name='Model1')

  def Model_b():
      output_b =   ...   (layers of model_b)
      return Model(inputs=inputs, outputs=output_b, name='Model2')

Теперь, если вы хотите определить модель, в которой оба выхода объединены в одну модель, как:

def Model_1(...):
  output_a =  ...     (layers of model_a)
  output_b =  ...     (layers of model_b) 
  return Model(inputs=inputs, outputs=[output_a,output_b])

Тогда условие 1:

Model_1.train_on_batch(x,[y,z])

И условие 2:

Model_a.train_on_batch(x,z)
Model_b.train_on_batch(x,y)

В этом случае условие-1 и условие-2 эквивалентны.Графически оба условия можно продемонстрировать на следующей диаграмме.

enter image description here.

Надеюсь, это ответит на вашу двусмысленность.

...