Известные проблемы

Базовый механизм, лежащий в основе алгоритмов лесов решений, используемый TensorFlow Decision Forests, был тщательно протестирован в производственных условиях. В этом файле перечислены некоторые известные проблемы.

См. также руководство по миграции , чтобы узнать о поведении, отличающемся от поведения других алгоритмов.

Пакет Windows Pip недоступен.

Леса решений TensorFlow пока недоступны в виде пакета Windows Pip.

Обходные пути:

Несовместимость с Керасом 3.

Совместимость с Keras 3 пока не реализована. Используйте tf_keras или версию TensorFlow до 2.16.

Непроверено на наличие конды

Хотя TF-DF может работать с Conda, это не проверялось, и в настоящее время мы не поддерживаем пакеты на conda-forge.

Несовместимость со старыми или ночными версиями TensorFlow.

ABI TensorFlow несовместим между выпусками. Поскольку TF-DF использует специальные операции TensorFlow C++, каждая версия TF-DF привязана к определенной версии TensorFlow. Последняя выпущенная версия TF-DF всегда привязана к последней выпущенной версии TensorFlow.

По этим причинам текущая версия TF-DF может быть несовместима со старыми версиями или ночной сборкой TensorFlow.

При использовании несовместимых версий TF и ​​TF-DF вы увидите загадочные ошибки, такие как:

tensorflow_decision_forests/tensorflow/ops/training/training.so: undefined symbol: _ZN10tensorflow11GetNodeAttrERKNS_9AttrSliceEN4absl14lts_2020_09_2311string_viewEPSs
  • Используйте версию TF-DF, совместимую с вашей версией TensorFlow.

Таблица совместимости

В следующей таблице показана совместимость между tensorflow_decision_forests и его зависимостями:

tensorflow_decision_forests тензорный поток
1.9.0 2.16.1
1.8.0 - 1.8.1 2.15.0
1.6.0 - 1.7.0 2.14.0
1.5.0 2.13.0
1.3.0 - 1.4.0 2.12.0
1.1.0 - 1.2.0 2.11.0
1.0.0 - 1.0.1 2.10.0 - 2.10.1
0.2.6 - 0.2.7 2.9.1
0.2.5 2,9
0.2.4 2,8
0.2.1 - 0.2.3 2,7
0.1.9 - 0.2.0 2.6
0.1.1 - 0.1.8 2,5
0.1.0 2.4
  • Решение № 2. Оберните функцию предварительной обработки в другую функцию, которая сжимает ее входные данные.

Не все модели поддерживают распределенное обучение и стратегии распределения.

Если не указано иное, модели обучаются на одной машине и несовместимы со стратегиями распространения. Например, GradientBoostedTreesModel не поддерживает распределенное обучение, а DistributedGradientBoostedTreesModel поддерживает.

Обходные пути:

  • Используйте модель, поддерживающую стратегии распределения (например, DistributedGradientBoostedTreesModel ), или сократите набор данных, чтобы он помещался на одном компьютере.

Нет поддержки GPU/TPU.

TF-DF не поддерживает обучение GPU или TPU. Однако компиляция с инструкциями AVX может ускорить обслуживание.

Нет поддержки model_to_estimator

TF-DF не реализует API-интерфейсы, необходимые для преобразования обученной/необученной модели в формат средства оценки.

Загруженные модели ведут себя иначе, чем модели Python.

Хотя модель, созданная в Python (например, с помощью tfdf.keras.RandomForestModel() ) и модель, загруженная с диска (например, с помощью tf_keras.models.load_model() ), абстрагируется с помощью Keras API, они могут вести себя по-разному. Примечательно, что экземпляр модели Python автоматически применяет необходимые преобразования типов. Например, если функция float64 передается в модель, ожидающую функцию float32 , это преобразование выполняется неявно. Однако такое преобразование невозможно для моделей, загруженных с диска. Поэтому важно, чтобы данные обучения и данные вывода всегда имели один и тот же тип.

Очистка имени функции Tensorflow

Tensorflow очищает имена функций и может, например, преобразовать их в нижний регистр.