#tensorflow #optimization #deep-learning #neural-network #reinforcement-learning
Вопрос:
Я запускаю NN на keras с tensorflow 2.6.0. NN используется для RL с архитектурой дуэли. Я получаю сообщение о том, что цикл оптимизации не удался: операция отменена. Моя интуиция заключается в том, что программа не смогла выполнить цикл оптимизации с градиентным спуском. Функция затрат также совсем не меняется, поэтому никакого обучения не происходит. Есть ли какое-либо решение для этого? У меня есть основная функция построения модели DQN ниже. Я просто передаю пакеты в нижеприведенную модель и получаю прогнозы.
def build_model(self): state_input = Input((self.NN_input_size,)) pre_dueling = Dense(512, activation='relu', name='Predueling')(state_input) flatten = Flatten()(pre_dueling) # network separate state value and advantages advantage_fc = Dense(256, activation='relu', name = 'AdvantageFC')(flatten) advantage = Dense(self.action_dim, name = 'Adavantage')(advantage_fc) value_fc = Dense(256, activation='relu', name = 'ValueFC')(flatten) value = Dense(1, name = 'Value')(value_fc) # network merged and make Q Value Q_values = (value (advantage - tf.math.reduce_mean(advantage, axis = 1, keepdims = True))) model = Model(inputs=state_input, outputs=Q_values) model.compile(loss=tf.keras.losses.Huber(), optimizer=Adam(self.lr)) return model
`
Чем я делаю простой звонок на поезд следующим образом
losses = self.R.model.train_on_batch(self.b_obs, target_q, sample_weight = self.is_weight.flatten())
Я получаю следующую ошибку
W tensorflow/core/data/root_dataset.cc:167] Optimization loop failed:Cancelled:Operation was cancelled.