Как получить тот же результат, что и tf.train.AdamOptimizer.compute_gradients () в тензорном потоке 2.2 с tf.keras.optimizers.Adam? - PullRequest
0 голосов
/ 11 июля 2020

Я относительно новичок в Tensorflow, так что терпите меня. В Tensorflow V1 + функция tf.train.AdamOptimizer () была доступна с ее методом .compute_gradients () . Значение return было списком пар (градиент, переменная). Также можно было выполнить следующий код:

var_grad = {v: g for (g, v) in tf.train.AdamOptimizer.compute_gradients(loss)}

Однако в Tensorflow V2.2.0 функция tf.train.AdamOptimizer () больше не доступна, для чего я нужно использовать tf.keras.optimizers.Adam () . Я просмотрел документацию по API, чтобы узнать, есть ли метод для tf.keras.optimizers.Adam () , который возвращает список пар (градиент, переменная). Пока я не мог найти его, если он есть.

Мои вопросы по этому поводу:

  1. Есть ли альтернатива для получения пар списка (градиента, переменной) из tf.keras.optimizers.Adam () в Tensorflow V2.2.0?
  2. В Tensorflow V1 + можно было создать словарь (хешируемый, как показано в блоке кода выше), но кажется, что в Tensorflow V2.2.0 это больше невозможно. Кто-нибудь знает, есть ли альтернатива для получения тех же результатов, что и в блоке кода выше?

Я работаю и ищу по этой проблеме уже 2 дня, поэтому я действительно надеюсь, что есть кто-то, кто может мне помочь. Если мне нужна дополнительная информация, дайте мне знать!

...