#python #numpy #machine-learning #keras #deep-learning
Вопрос:
Как мне получить выходные данные модели 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?
Комментарии:
1. попробуйте прочитать это: kite.com/python/answers/…
Ответ №1:
Вы можете использовать tf.tensor.eval для возврата массива np, который вы можете прочитать в документах docs. а затем вы просто добавляете tf.tensor.eval в слой 6
Ответ №2:
Как только вы определили модель с помощью чего-то подобного myModel=dqn(board)
, вы можете использовать myModel.predict(x)
ее для получения выходных данных в виде массива Numpy.
Если вы используете Tensorflow в качестве серверной части с включенным активным выполнением, вы можете просто ввести .numpy()
свой тензор.