Ошибка типа: Тензоры в списке, переданном в «значения» операции «ConcatV2», имеют типы [float32, float16], которые не все совпадают с использованием смешанной точности tensorflow

#tensorflow2.0 #recommendation-engine

Вопрос:

Я использую библиотеку tensorflow-рекомендателей для создания рекомендателя, но когда я пытаюсь использовать смешанную точность, при проверке возникает ошибка:

 TypeError: Tensors in list passed to 'values' of 'ConcatV2' Op have types [float32, float16] that don't all match.
 

Стоит отметить, что модель успешно обучается, проблема возникает при попытке проверки.
пользователь_модель

На рисунке показано, как определяется модель пользователя. Модель изделия аналогична. Модель с двумя башнями-это:

 class two_tower_model(tfrs.Model):
def __init__(self, user_model, item_model, items_dataset):
    super().__init__()
    self.user_model = user_model
    self.item_model = item_model
    self.items_dataset = items_dataset
    self.task = tfrs.tasks.Retrieval(
        metrics=tfrs.metrics.FactorizedTopK(
            candidates=self.items_dataset.batch(2048).map(item_model)))
    
def compute_loss(self, features, training=False):
    user_embeddings = self.user_model({feature: features[feature] for feature in ["USER_EMBEDDING", "event_data"]})
    item_embeddings = self.item_model({feature: features[feature] 
                                       for feature 
                                       in ["ITE_ITEM_ID", "ITE_DOM_DOMAIN_ID", "CAT_CATEG_ID", "ITE_ITEM_TITLE"]})
    
    return self.task(user_embeddings, item_embeddings, compute_metrics=not training)
 

Я не знаю, связана ли проблема со строительством модели или с политикой смешанной точности. Я использую TFv2.3.1 и TFRSv0.3.2.

Заранее благодарю.