|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# The following "sed" are to patch the current version of tf-df with |
| 4 | +# a fix for keras 3. In essence, replaces the use of package name "tf.keras" with |
| 5 | +# "tf_keras" |
| 6 | + |
| 7 | +sed -i "/import tensorflow_decision_forests as tfdf/a import tf_keras" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/__init__.py && \ |
| 8 | +sed -i -e "/import tensorflow as tf/a import tf_keras" \ |
| 9 | + -e "/from yggdrasil_decision_forests.utils.distribute.implementations.grpc/a from tensorflow_decision_forests.keras import keras_internal" \ |
| 10 | + -e '/try:/{:a;N;/backend = tf.keras.backend/!ba;d}'\ |
| 11 | + /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/core.py && \ |
| 12 | +sed -i -e "s/from typing import Optional, List, Dict, Any, Union, NamedTuple/from typing import Any, Dict, List, NamedTuple, Optional, Union/g" \ |
| 13 | + -e "/import tensorflow as tf/a from tensorflow_decision_forests.keras import keras_internal" \ |
| 14 | + -e "/import tensorflow as tf/a import tf_keras" \ |
| 15 | + -e '/layers = tf.keras.layers/{:a;N;/backend = tf.keras.backend/!ba;d}' \ |
| 16 | + /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/core_inference.py && \ |
| 17 | +find /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests -type f -exec sed -i \ |
| 18 | + -e "s/get_data_handler/keras_internal.get_data_handler/g" \ |
| 19 | + -e 's/"models.Functional"/keras_internal.Functional/g' \ |
| 20 | + -e "s/tf.keras.utils.unpack_x_y_sample_weight/keras_internal.unpack_x_y_sample_weight/g" \ |
| 21 | + -e "s/tf.keras.utils.experimental/keras_internal/g" \ |
| 22 | + {} \; && \ |
| 23 | +sed -i -e "/import tensorflow as tf/a import tf_keras" \ |
| 24 | + -e "/from tensorflow_decision_forests.keras import core/a from tensorflow_decision_forests.keras import keras_internal" \ |
| 25 | + -e '/layers = tf.keras.layers/{:a;N;/callbacks = tf.keras.callbacks/!ba;d}' \ |
| 26 | + /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/keras_test.py && \ |
| 27 | +find /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras -type f -exec sed -i \ |
| 28 | + -e "s/ layers.Input/ tf_keras.layers.Input/g" \ |
| 29 | + -e "s/layers.minimum/tf_keras.layers.minimum/g" \ |
| 30 | + -e "s/layers.Concatenate/tf_keras.layers.Concatenate/g" \ |
| 31 | + -e "s/layers.Dense/tf_keras.layers.Dense/g" \ |
| 32 | + -e "s/layers.experimental.preprocessing./tf_keras.layers./g" \ |
| 33 | + -e "s/layers.DenseFeatures/keras_internal.layers.DenseFeatures/g" \ |
| 34 | + -e "s/models.Model/tf_keras.models.Model/g" {} \; && \ |
| 35 | +sed -i "s/ models.load_model/ tf_keras.models.load_model/g" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/keras_test.py && \ |
| 36 | +sed -i "/import tensorflow as tf/a import tf_keras" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/test_runner.py && \ |
| 37 | +sed -i "/import tensorflow as tf/a import tf_keras" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/wrappers.py && \ |
| 38 | +sed -i -e "/import tensorflow as tf/a import tf_keras" \ |
| 39 | + -e "s/optimizer=optimizers.Adam()/optimizer=tf_keras.optimizers.Adam()/g" \ |
| 40 | + /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/wrappers_pre_generated.py && \ |
| 41 | +find /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests -type f -exec sed -i "s/tf.keras./tf_keras./g" {} \; |
0 commit comments