Базовый механизм, лежащий в основе алгоритмов лесов решений, используемый TensorFlow Decision Forests, был тщательно протестирован в производственных условиях. В этом файле перечислены некоторые известные проблемы.
См. также руководство по миграции , чтобы узнать о поведении, отличающемся от поведения других алгоритмов.
Пакет Windows Pip недоступен.
Леса решений TensorFlow пока недоступны в виде пакета Windows Pip.
Обходные пути:
- Решение № 1. Установите подсистему Windows для Linux (WSL) на свой компьютер с Windows и следуйте инструкциям Linux.
Несовместимость с Керасом 3.
Совместимость с Keras 3 пока не реализована. Используйте tf_keras или версию TensorFlow до 2.16. Альтернативно используйте ydf .
Непроверено на наличие конды
Хотя 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.10.0 | 2.17.0 |
1.9.2 | 2.16.2 |
1.9.1 | 2.16.1 |
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 очищает имена функций и может, например, преобразовать их в нижний регистр.