Как вывести скалярную переменную в качестве выходных данных модели Keras?

#keras

#keras

Вопрос:

Например, я хочу что-то вроде

Модель (входные данные = что-то, выходные данные = скалярные)

Это происходит там, где вы хотели бы сначала отладить процедуру моделирования / обучения в случае без состояния «X» (генеративный). Итак, у вас все еще есть batch_size из Y. И это то, что вы хотите.

Я пытаюсь что-то вроде этого:

 V = K.variable(0, dtype=tf.float32)
V = tf.reduce_mean(x_input_not_used_by_this_branch, axis=1) * 0   V # this is a stupid way to get things to work
model keras.models.Model(inputs=something, outputs=[V, some_other_stuff])
  

Комментарии:

1. Почему отрицательный голос? Я исправлю вопрос, поскольку меня интересует ответ.

Ответ №1:

Простым способом было бы использовать функциональный API из Keras: Keras API docu

 inputs = Input(shape=(784,))

# a layer instance is callable on a tensor, and returns a tensor
x = Dense(64, activation='relu')(inputs)
x = Dense(64, activation='relu')(x)
predictions = Dense(10, activation='softmax')(x)

v = 0.25 * x

# This creates a model that includes
# the Input layer and three Dense layers
model = Model(inputs=inputs, outputs=[predictions, v])
  

Комментарии:

1. Это другая модель. V является функцией входных данных. Я хочу, чтобы V не было функцией ничего внешнего. Обратите внимание на умножение на ноль.