Оптимизация отменена в Tensorflow

#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.