Почему не работает метод Huggingface create_optimizer?

#tensorflow #huggingface-transformers

#tensorflow #huggingface-трансформеры

Вопрос:

Как использовать метод Huggingface create_optimizer? Мой код выглядит следующим образом:

 import tensorflow as tf
from transformers import RobertaConfig, TFRobertaForMaskedLM, create_optimizer
config = RobertaConfig()  
optimizer,lr = create_optimizer(1e-4,1000000,10000,0.1,1e-6,0.01)
training_loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
model = TFRobertaForMaskedLM(config)
model.compile(optimizer=optimizer, loss=training_loss)
input = tf.random.uniform(shape=[1,25], maxval=100, dtype=tf.int32)
hist = model.fit(input, input, epochs=1, steps_per_epoch=1,verbose=0)
  

Я получаю сообщение об ошибке:

Ошибка типа: apply_gradients() получила неожиданный аргумент ключевого слова ‘experimental_aggregate_gradients’

Я пробовал с tensorflow 2.3.0 и 2.2.0, transformers 3.0.2.

Ответ №1:

Я добавил эту строку:

 optimizer._HAS_AGGREGATE_GRAD = False