首页 > 解决方案 > 为数组定义 Keras 模型

问题描述

我有 3 个输入将进入我的模型,它们是:1. 20 X 20 列表 2. n 个 X [2] 数组或类似 [ [a,b], [c,d], ..... .] 3. [a,b] 数组

就是这样使模型变得简单,但我不明白如何为此定义输入和输出。

该模型应该有 2 个隐藏层,每个隐藏层 32 个。

    inputBoard = tf.keras.Input(shape=(20,20))
    x1 = tf.keras.layers.Flatten()(inputBoard)
    boardDense = tf.keras.layers.Dense(32, activation='relu')(x1)

    inputAgent = tf.keras.Input(shape=(None, 2))
    x2 = tf.keras.layers.Flatten()(inputAgent)
    agentDense = tf.keras.layers.Dense(16, activation='relu')(x2)

    inputReward = tf.keras.Input(shape=(1,1))
    x3 = tf.keras.layers.Flatten()(inputReward)
    rewardDense = tf.keras.layers.Dense(4, activation='relu')(x3)

    concat = tf.keras.layers.concatenate([boardDense, agentDense, rewardDense])

    hidden = tf.keras.layers.Dense(32, activation = 'relu')(concat)
    hidden2 = tf.keras.layers.Dense(32, activation='relu')(hidden)

    output = tf.keras.layers.Dense(4, activation="softmax")(hidden2)

    self.model = tf.keras.Model(inputs=[inputBoard, inputAgent, inputReward], outputs = output)

    self.model.build()
    optimizer = tf.keras.optimizers.Adam(lr = self.learningRate)
    self.model.compile(loss = 'mse', optimizer = optimizer)
    self.model.summary()

标签: pythontensorflowmachine-learningkeras

解决方案


推荐阅读