【问题标题】:A general query while training训练时的一般查询
【发布时间】:2019-05-18 11:25:52
【问题描述】:

以下条件是否相同。据我所知,我认为它们是相同的。请指导我。

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)

【问题讨论】:

    标签: python-3.x keras deep-learning generative-adversarial-network


    【解决方案1】:

    让一个输入有两个输出。 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])
    

    条件二:

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

    在这种情况下,条件 1 和条件 2 是等价的。从图形上看,这两种情况都可以用下图来说明。

    希望这将回答您的歧义。

    【讨论】:

    • 感谢您的帮助。我也可以使用此语句来训练 Model_1 吗? Model_1.train_on_batch(x,z)
    • 您可以使用两个目标输出来训练 Model_1。
    • 我不得不问这些语句现在是否相等Model_a.train_on_batch(input,output)Model_1.train_on_batch(input,[output1, output2])#Statement 2 Model_a.train_on_batch(input,output)Model_1.train_on_batch(input,output)Model_b .train_on_batch(input,output)
    • 1. Model_1.train_on_batch(input,output) 这里有一个输出会出错。 2. 语句1:>> Model_1.train_on_batch(input,[output1, output2]) 语句2:Model_a.train_on_batch(input,output); Model_b .train_on_batch(input,output) 现在,Statement-1 和 statement-2 是相等的。但是正如您所提供的,如果您先训练 Model_a,然后再训练 Model_1,那么在这种情况下,如果您确实使用了 Model_a 的训练权重,那么它将与语句 2 不同。
    • 让我们简单一点。请确认这些单独的训练方法Method 1Method 2 是否相同?
    猜你喜欢
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 2020-01-26
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多