@@ -62,6 +62,7 @@ ENV KMP_SETTINGS=false
62
62
ENV PIP_ROOT_USER_ACTION=ignore
63
63
64
64
ADD clean-layer.sh /tmp/clean-layer.sh
65
+ ADD patches/keras_patch.sh /tmp/keras_patch.sh
65
66
ADD patches/nbconvert-extensions.tpl /opt/kaggle/nbconvert-extensions.tpl
66
67
ADD patches/template_conf.json /opt/kaggle/conf.json
67
68
@@ -216,41 +217,7 @@ RUN pip install \
216
217
RUN pip install tensorflow_decision_forests --no-deps && \
217
218
/tmp/clean-layer.sh
218
219
219
- RUN sed -i "/import tensorflow_decision_forests as tfdf/a import tf_keras" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/__init__.py && \
220
- sed -i -e "/import tensorflow as tf/a import tf_keras" \
221
- -e "/from yggdrasil_decision_forests.utils.distribute.implementations.grpc/a from tensorflow_decision_forests.keras import keras_internal" \
222
- -e '/try:/{:a;N;/backend = tf.keras.backend/!ba;d}'\
223
- /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/core.py && \
224
- sed -i -e "s/from typing import Optional, List, Dict, Any, Union, NamedTuple/from typing import Any, Dict, List, NamedTuple, Optional, Union/g" \
225
- -e "/import tensorflow as tf/a from tensorflow_decision_forests.keras import keras_internal" \
226
- -e "/import tensorflow as tf/a import tf_keras" \
227
- -e '/layers = tf.keras.layers/{:a;N;/backend = tf.keras.backend/!ba;d}' \
228
- /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/core_inference.py && \
229
- find /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests -type f -exec sed -i \
230
- -e "s/get_data_handler/keras_internal.get_data_handler/g" \
231
- -e 's/"models.Functional"/keras_internal.Functional/g' \
232
- -e "s/tf.keras.utils.unpack_x_y_sample_weight/keras_internal.unpack_x_y_sample_weight/g" \
233
- -e "s/tf.keras.utils.experimental/keras_internal/g" \
234
- {} \; && \
235
- sed -i -e "/import tensorflow as tf/a import tf_keras" \
236
- -e "/from tensorflow_decision_forests.keras import core/a from tensorflow_decision_forests.keras import keras_internal" \
237
- -e '/layers = tf.keras.layers/{:a;N;/callbacks = tf.keras.callbacks/!ba;d}' \
238
- /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/keras_test.py && \
239
- find /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras -type f -exec sed -i \
240
- -e "s/ layers.Input/ tf_keras.layers.Input/g" \
241
- -e "s/layers.minimum/tf_keras.layers.minimum/g" \
242
- -e "s/layers.Concatenate/tf_keras.layers.Concatenate/g" \
243
- -e "s/layers.Dense/tf_keras.layers.Dense/g" \
244
- -e "s/layers.experimental.preprocessing./tf_keras.layers./g" \
245
- -e "s/layers.DenseFeatures/keras_internal.layers.DenseFeatures/g" \
246
- -e "s/models.Model/tf_keras.models.Model/g" {} \; && \
247
- 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 && \
248
- sed -i "/import tensorflow as tf/a import tf_keras" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/test_runner.py && \
249
- sed -i "/import tensorflow as tf/a import tf_keras" /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/wrappers.py && \
250
- sed -i -e "/import tensorflow as tf/a import tf_keras" \
251
- -e "s/optimizer=optimizers.Adam()/optimizer=tf_keras.optimizers.Adam()/g" \
252
- /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/wrappers_pre_generated.py && \
253
- find /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests -type f -exec sed -i "s/tf.keras./tf_keras./g" {} \;
220
+ RUN /tmp/keras_patch.sh
254
221
255
222
ADD patches/keras_internal.py /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/keras_internal.py
256
223
ADD patches/keras_internal_test.py /opt/conda/lib/python3.10/site-packages/tensorflow_decision_forests/keras/keras_internal_test.py
0 commit comments