【问题标题】:How do you get the ouput of a keras model as a numpy array?如何将 keras 模型的输出作为 numpy 数组获取?
【发布时间】:2021-09-01 20:56:20
【问题描述】:

如何将 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 数组获取?

【问题讨论】:

标签: python numpy machine-learning keras deep-learning


【解决方案1】:

myModel=dqn(board) 之类的东西定义模型后,您可以使用myModel.predict(x) 将输出作为Numpy 数组获取。

如果您使用 Tensorflow 作为启用了即时执行的后端,您只需将 .numpy() 放入您的张量中。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-01-10
      • 2021-06-18
      • 2017-05-25
      • 2021-04-24
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      相关资源
      最近更新 更多