From 63d397574ed25d668c3b75f4c27725c007494ac0 Mon Sep 17 00:00:00 2001 From: Richard Stotz Date: Thu, 28 Sep 2023 02:03:31 -0700 Subject: [PATCH] Release TF-DF 1.6.0 and YDF 1.6.0 PiperOrigin-RevId: 569106996 --- CHANGELOG.md | 4 +- README.md | 5 +++ WORKSPACE | 8 ++-- configure/setup.py | 4 +- documentation/known_issues.md | 1 + documentation/migration.md | 40 +------------------ tensorflow_decision_forests/__init__.py | 4 +- .../keras/wrappers_pre_generated.py | 8 ++-- tools/test_bazel.sh | 6 --- 9 files changed, 21 insertions(+), 59 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index efd59007..085bc7b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 1.6.0 - rc0 2023-08-22 +## 1.6.0 2023-09-27 ### Breaking Changes @@ -8,7 +8,7 @@ ### Features -- Compatibility with Tensorflow 2.14.0 rc0 +- Compatibility with Tensorflow 2.14.0 - Contrib: Training preprocessing jointly on the input features, labels and weights diff --git a/README.md b/README.md index 237639a9..39d7eb71 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,11 @@ the following paper: Yggdrasil Decision Forests: A Fast and Extensible Decision Forests Library, Guillame-Bert et al., KDD 2023: 4068-4077. doi:10.1145/3580305.3599933 +## Contact + +You can contact the core development team at +[decision-forests-contact@google.com](mailto:decision-forests-contact@google.com). + ## Credits TensorFlow Decision Forests was developed by: diff --git a/WORKSPACE b/WORKSPACE index b3c0f4a7..c141ff4d 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -11,12 +11,12 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # absl used by tensorflow. http_archive( name = "org_tensorflow", - strip_prefix = "tensorflow-2.13.0", + strip_prefix = "tensorflow-2.14.0", sha256 = "447cdb65c80c86d6c6cf1388684f157612392723eaea832e6392d219098b49de", - urls = ["https://github.com/tensorflow/tensorflow/archive/v2.13.0.zip"], + urls = ["https://github.com/tensorflow/tensorflow/archive/v2.14.0.zip"], # Starting with TF 2.14, disable hermetic Python builds. - # patch_args = ["-p1"], - # patches = ["//third_party/tensorflow:tf.patch"], + patch_args = ["-p1"], + patches = ["//third_party/tensorflow:tf.patch"], ) # Inject tensorflow dependencies. diff --git a/configure/setup.py b/configure/setup.py index aa074acd..c5d46922 100644 --- a/configure/setup.py +++ b/configure/setup.py @@ -21,7 +21,7 @@ from setuptools.command.install import install from setuptools.dist import Distribution -_VERSION = "1.6.0rc0" +_VERSION = "1.6.0" with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() @@ -29,7 +29,7 @@ REQUIRED_PACKAGES = [ "numpy", "pandas", - "tensorflow~=2.14.0rc0", + "tensorflow~=2.14.0", "six", "absl_py", "wheel", diff --git a/documentation/known_issues.md b/documentation/known_issues.md index a695041e..b66e1983 100644 --- a/documentation/known_issues.md +++ b/documentation/known_issues.md @@ -44,6 +44,7 @@ The following table shows the compatibility between tensorflow_decision_forests | tensorflow --------------------------- | --------------- +1.6.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 diff --git a/documentation/migration.md b/documentation/migration.md index 67765a6a..325b4c72 100644 --- a/documentation/migration.md +++ b/documentation/migration.md @@ -18,45 +18,7 @@ This doc assumes familiarity with the -* [Migrating from Neural Networks](#migrating-from-neural-networks) - * [Table of Contents](#table-of-contents) - * [Dataset and Features](#dataset-and-features) - * [Validation dataset](#validation-dataset) - * [Dataset I/O](#dataset-io) - * [Train for exactly 1 epoch](#train-for-exactly-1-epoch) - * [Do not shuffle the dataset](#do-not-shuffle-the-dataset) - * [Do not tune the batch size](#do-not-tune-the-batch-size) - * [Large Datasets](#large-datasets) - * [How many examples to use](#how-many-examples-to-use) - * [Feature Normalization / Preprocessing](#feature-normalization--preprocessing) - * [Do not transform data with feature columns](#do-not-transform-data-with-feature-columns) - * [Do not preprocess the features](#do-not-preprocess-the-features) - * [Do not normalize numerical features](#do-not-normalize-numerical-features) - * [Do not encode categorical features (e.g. hashing, one-hot, or - embedding)](#do-not-encode-categorical-features-eg-hashing-one-hot-or-embedding) - * [How to handle text features](#how-to-handle-text-features) - * [Do not replace missing features by magic values](#do-not-replace-missing-features-by-magic-values) - * [Handling Images and Time series](#handling-images-and-time-series) - * [Training Pipeline](#training-pipeline) - * [Don't use hardware accelerators e.g. GPU, TPU](#dont-use-hardware-accelerators-eg-gpu-tpu) - * [Don't use checkpointing or mid-training hooks](#dont-use-checkpointing-or-mid-training-hooks) - * [Model Determinism](#model-determinism) - * [Training Configuration](#training-configuration) - * [Specify a task (e.g. classification, ranking) instead of a loss - (e.g. binary - cross-entropy)](#specify-a-task-eg-classification-ranking-instead-of-a-loss-eg-binary-cross-entropy) - * [Hyper-parameters are semantically stable](#hyper-parameters-are-semantically-stable) - * [Model debugging](#model-debugging) - * [Simple model summary](#simple-model-summary) - * [Training Logs and Tensorboard](#training-logs-and-tensorboard) - * [Feature importance](#feature-importance) - * [Plotting the trees](#plotting-the-trees) - * [Access the tree structure](#access-the-tree-structure) - * [Do not use TensorFlow distribution strategies](#do-not-use-tensorflow-distribution-strategies) - * [Stacking Models](#stacking-models) - * [Migrating from tf.estimator.BoostedTrees - {Classifier/Regressor/Estimator}](#migrating-from-tfestimatorboostedtrees-classifierregressorestimator) - * [For Yggdrasil users](#for-yggdrasil-users) + diff --git a/tensorflow_decision_forests/__init__.py b/tensorflow_decision_forests/__init__.py index 87c09b81..4b9a52dc 100644 --- a/tensorflow_decision_forests/__init__.py +++ b/tensorflow_decision_forests/__init__.py @@ -51,10 +51,10 @@ """ -__version__ = "1.6.0rc0" +__version__ = "1.6.0" __author__ = "Mathieu Guillame-Bert" -compatible_tf_versions = ["2.14.0rc0"] +compatible_tf_versions = ["2.14.0"] __git_version__ = "HEAD" # Modify for release build. from tensorflow_decision_forests.tensorflow import check_version diff --git a/tensorflow_decision_forests/keras/wrappers_pre_generated.py b/tensorflow_decision_forests/keras/wrappers_pre_generated.py index b1e7259e..e1d55f23 100644 --- a/tensorflow_decision_forests/keras/wrappers_pre_generated.py +++ b/tensorflow_decision_forests/keras/wrappers_pre_generated.py @@ -43,9 +43,9 @@ class CartModel(core.CoreModel): r"""Cart learning algorithm. A CART (Classification and Regression Trees) a decision tree. The non-leaf - nodes contains conditions (also known as splits) while the leaf nodes - contains prediction values. The training dataset is divided in two parts. The - first is used to grow the tree while the second is used to prune the tree. + nodes contains conditions (also known as splits) while the leaf nodes contain + prediction values. The training dataset is divided in two parts. The first is + used to grow the tree while the second is used to prune the tree. Usage example: @@ -331,7 +331,7 @@ class CartModel(core.CoreModel): `CHI_SQUARED` or `CS`: (p-q)^2/q Default: "KULLBACK_LEIBLER". validation_ratio: Ratio of the training dataset used to create the - validation dataset used to prune the tree. If set to 0, the entire dataset + validation dataset for pruning the tree. If set to 0, the entire dataset is used for training, and the tree is not pruned. Default: 0.1. """ diff --git a/tools/test_bazel.sh b/tools/test_bazel.sh index ba85c6a8..f26afbeb 100755 --- a/tools/test_bazel.sh +++ b/tools/test_bazel.sh @@ -91,12 +91,6 @@ sed -i $ext "s/sha256 = \"${prev_shasum}\",//" WORKSPACE TENSORFLOW_BAZELRC="tensorflow_bazelrc" curl https://raw.githubusercontent.com/tensorflow/tensorflow/${commit_slug}/.bazelrc -o ${TENSORFLOW_BAZELRC} -# For Tensorflow versions > 2.13, apply a patch to disable hermetic builds. -if [[ ${TF_MINOR} != "2.13" ]]; then - sed -i $ext "s/# patch_args = \[\"-p1\"\],/patch_args = \[\"-p1\"\],/" WORKSPACE - sed -i $ext "s/# patches = \[\"\/\/third_party\/tensorflow:tf.patch\"\],/patches = \[\"\/\/third_party\/tensorflow:tf.patch\"\],/" WORKSPACE -fi - # Bazel common flags. Startup flags are already given through STARTUP_FLAGS FLAGS=