【问题标题】:Functional API Linking Feed-Forward Networks and Convolutional neural network连接前馈网络和卷积神经网络的功能 API
【发布时间】:2020-05-29 10:31:17
【问题描述】:

现在我有两个网络 f 和 g,第一个在任务 1 上训练,第二个在任务 2 上训练。我将我的数据标记为属于任务 1 或任务 2。我如何构建以下内容(可训练)自定义架构:

x -> 决定是 1 还是 2 -> 相应地传递给 f 或 g?

我以前从未使用过这样的分支架构...

【问题讨论】:

    标签: python tensorflow keras customization


    【解决方案1】:

    我尝试使用如下所示的Sample Code 来演示您需要什么。如果这不是您要查找的内容,请告诉我并提供更多详细信息,我很乐意为您提供帮助。

    根据问题,我们正在尝试实现 2 个任务,Task 1 --> Regression(前馈神经网络)和Task 2 --> CNN。我们将根据标签从现有的Dataset中形成2个Dataset,分别属于Task 1 --> Data_T1Task 2 --> Data_T2

    然后使用Functional API,我们可以通过Multiple Inputs得到Multiple Outputs

    代码如下:

    from tensorflow.keras.models import Model
    from tensorflow.keras.layers import Input, Conv2D, Dense, Flatten
    import pandas as pd
    
    F1 = [1,2,3,4,5,6,7,8,9,10]
    F2 = [1,2,3,4,5,6,7,8,9,10]
    F3 = [1,2,3,4,5,6,7,8,9,10]
    Task = ['t1', 't1', 't2', 't1', 't2', 't2', 't2', 't1', 't1', 't2']
    
    Dict = {'F1': F1, 'F2':F2, 'F3':F3, 'Task':Task} # Column Task tells us whether the Data belongs to Task1 or Task2
    
    Data = pd.DataFrame(Dict) #Create a Dummy Data Frame
    
    Data_T1 = Data[Data['Task']=='t1']
    Data_T1 = Data_T1.drop(columns = ['Task'])
    
    Data_T2 = Data[Data['Task']=='t2']
    Data_T2 = Data_T2.drop(columns = ['Task'])
    
    Input1 = ...
    Input2 = ...
    
    Number_Of_Classes = 3
    # Regression Model
    D1 = Dense(10, activation = 'relu')(Input1)
    Out_Task1 = Dense(1, activation = 'linear') 
    # CNN Model
    Conv1 = Conv2D(16, (3,3), activation = 'relu')(Input2)
    Conv2 = Conv2D(32, (3,3, activation = 'relu'))(Conv1)
    Flatten = Flatten()(Conv2)
    D2_1 = Dense(10, activation = 'relu')
    Out_Task2 = Dense(Number_Of_Classes, activation = 'softmax')
    
    model = Model(inputs = [Input1, Input2], outputs = [Out_Task1, Out_Task2])
    
    model.compile....
    
    model.fit([Data_T1, Data_T2], .....)
    

    【讨论】:

      猜你喜欢
      • 2017-01-01
      • 1970-01-01
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-01
      • 2017-06-14
      相关资源
      最近更新 更多