首页 > 解决方案 > 您如何将 keras 模型的输出作为 numpy 数组?

问题描述

如何将 keras 模型的输出作为 numpy 数组获取?我的代码如下所示:

env = gym.make('Chess-v0')
obs = env.reset()
type(obs)

done = False

num_actions = len(env.legal_moves)

obs = chess.Board()

model = models.Sequential()

def dqn(board):
    
    inputs = layers.Input(shape=(1,))

    layer1 = layers.Dense(256, activation="relu", input_shape=(1,))(inputs)
    layer2 = layers.Dense(512, activation="relu")(layer1)
    layer3 = layers.Dense(512, activation="relu")(layer2)
    
    layer4 = layers.Dense(512, activation="relu")(layer3)
    layer5 = layers.Dense(512, activation="relu")(layer4)
    
    layer6 = layers.Dense(1)(layer5)
    
    action = np.argmax(--->>> layer6_output <<<---)
    
    return keras.Model(inputs=inputs, outputs=action)

那么如何将 layer6 的输出作为 numpy 数组获取呢?

标签: pythonnumpymachine-learningkerasdeep-learning

解决方案


您可以使用 tf.tensor.eval 返回可以在文档DOCS上阅读的 np 数组。然后你只需在第 6 层添加 tf.tensor.eval


推荐阅读