models icon indicating copy to clipboard operation
models copied to clipboard

Adding better doc-strings for retrieval & ranking models

Open marcromeyn opened this issue 3 years ago • 14 comments

Fixes # (issue)

Goals :soccer:

Implementation Details :construction:

Testing Details :mag:

marcromeyn avatar Mar 25 '22 14:03 marcromeyn

@marcromeyn can we get this updated for the release on tuesday?

benfred avatar Apr 01 '22 22:04 benfred

Click to view CI Results
GitHub pull request #297 of commit de75b4887ffd302256b7e08272a7a4f8e9dcf386, no merge conflicts.
Running as SYSTEM
Setting status of de75b4887ffd302256b7e08272a7a4f8e9dcf386 to PENDING with url https://10.20.13.93:8080/job/merlin_models/23/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse de75b4887ffd302256b7e08272a7a4f8e9dcf386^{commit} # timeout=10
Checking out Revision de75b4887ffd302256b7e08272a7a4f8e9dcf386 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f de75b4887ffd302256b7e08272a7a4f8e9dcf386 # timeout=10
Commit message: "Adding some TODOs in doc-strings for the different models"
 > git rev-list --no-walk 059143e1436ed85cd7079bd5c2df46d5854bb256 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins453863342514889078.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 356 items / 2 skipped

tests/data/test_synthetic.py .. [ 0%] tests/data/testing/test_dataset.py ..... [ 1%] tests/tf/test_core.py ................ [ 6%] tests/tf/test_dataset.py .............. [ 10%] tests/tf/test_public_api.py . [ 10%] tests/tf/blocks/test_cross.py ............ [ 14%] tests/tf/blocks/test_dlrm.py ........ [ 16%] tests/tf/blocks/test_interactions.py . [ 16%] tests/tf/blocks/test_mlp.py ............................. [ 24%] tests/tf/blocks/core/test_aggregation.py ......... [ 27%] tests/tf/blocks/core/test_base.py . [ 27%] tests/tf/blocks/core/test_index.py .. [ 28%] tests/tf/blocks/core/test_masking.py ....... [ 30%] tests/tf/blocks/core/test_transformations.py ........ [ 32%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 32%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 35%] tests/tf/features/test_continuous.py ..... [ 37%] tests/tf/features/test_embedding.py ......... [ 39%] tests/tf/features/test_tabular.py ....... [ 41%] tests/tf/layers/test_queue.py .............. [ 45%] tests/tf/losses/test_losses.py ....................... [ 51%] tests/tf/metrics/test_metrics_ranking.py ................. [ 56%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ......... [ 65%] tests/tf/prediction/test_classification.py .. [ 66%] tests/tf/prediction/test_multi_task.py ....... [ 68%] tests/tf/prediction/test_next_item.py .................... [ 73%] tests/tf/prediction/test_regression.py .. [ 74%] tests/tf/prediction/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 81%] tests/torch/test_dataset.py ......... [ 83%] tests/torch/test_public_api.py . [ 83%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 85%] tests/torch/features/test_continuous.py .. [ 85%] tests/torch/features/test_embedding.py .............. [ 89%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 94%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 9 warnings tests/tf/prediction/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmpy9vvbc2t.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/merlin/models/data/synthetic.py:154: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value).to(self.device) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========== 356 passed, 2 skipped, 73 warnings in 428.98s (0:07:08) ============ Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins6700467008440769974.sh

nvidia-merlin-bot avatar Apr 01 '22 22:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit b81dc4f60caa2abf34499a46e2a66b4befaec0b1, no merge conflicts.
Running as SYSTEM
Setting status of b81dc4f60caa2abf34499a46e2a66b4befaec0b1 to PENDING with url https://10.20.13.93:8080/job/merlin_models/26/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse b81dc4f60caa2abf34499a46e2a66b4befaec0b1^{commit} # timeout=10
Checking out Revision b81dc4f60caa2abf34499a46e2a66b4befaec0b1 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f b81dc4f60caa2abf34499a46e2a66b4befaec0b1 # timeout=10
Commit message: "Merge branch 'main' into docs-strings"
 > git rev-list --no-walk 61eb2d16c42e7e8329b34c98a610648a277fa999 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins4791854731430907704.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 372 items / 2 skipped

tests/data/test_advertising.py .s [ 0%] tests/data/test_ecommerce.py ..sss [ 1%] tests/data/test_entertainment.py ....sss [ 3%] tests/data/test_social.py . [ 4%] tests/data/test_synthetic.py .... [ 5%] tests/tf/test_core.py ................ [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 18%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................. [ 26%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 31%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 52%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ............. [ 67%] tests/tf/prediction/test_classification.py .. [ 67%] tests/tf/prediction/test_multi_task.py ....... [ 69%] tests/tf/prediction/test_next_item.py .................... [ 75%] tests/tf/prediction/test_regression.py .. [ 75%] tests/tf/prediction/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 81%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmp34gzeagk.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========== 365 passed, 9 skipped, 90 warnings in 573.44s (0:09:33) ============ Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins8935677542508048914.sh

nvidia-merlin-bot avatar Apr 04 '22 09:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit f343a2a3d1ec4300ef4026e8e9baa5ee377252de, no merge conflicts.
Running as SYSTEM
Setting status of f343a2a3d1ec4300ef4026e8e9baa5ee377252de to PENDING with url https://10.20.13.93:8080/job/merlin_models/27/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse f343a2a3d1ec4300ef4026e8e9baa5ee377252de^{commit} # timeout=10
Checking out Revision f343a2a3d1ec4300ef4026e8e9baa5ee377252de (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f343a2a3d1ec4300ef4026e8e9baa5ee377252de # timeout=10
Commit message: "Some fixes"
 > git rev-list --no-walk b81dc4f60caa2abf34499a46e2a66b4befaec0b1 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins8077946896278843898.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 103 items / 27 errors / 3 skipped

==================================== ERRORS ==================================== ____________________ ERROR collecting tests/tf/test_core.py ____________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/test_core.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/test_core.py:7: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' __________________ ERROR collecting tests/tf/test_dataset.py ___________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/test_dataset.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/test_dataset.py:24: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _________________ ERROR collecting tests/tf/test_public_api.py _________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/test_public_api.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/test_public_api.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ________________ ERROR collecting tests/tf/blocks/test_dlrm.py _________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/test_dlrm.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/test_dlrm.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ____________ ERROR collecting tests/tf/blocks/test_interactions.py _____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/test_interactions.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/test_interactions.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _________________ ERROR collecting tests/tf/blocks/test_mlp.py _________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/test_mlp.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/test_mlp.py:21: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' __________ ERROR collecting tests/tf/blocks/core/test_aggregation.py ___________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/core/test_aggregation.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/core/test_aggregation.py:21: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ______________ ERROR collecting tests/tf/blocks/core/test_base.py ______________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/core/test_base.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/core/test_base.py:17: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _____________ ERROR collecting tests/tf/blocks/core/test_index.py ______________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/core/test_index.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/core/test_index.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ____________ ERROR collecting tests/tf/blocks/core/test_masking.py _____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/core/test_masking.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/core/test_masking.py:20: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ________ ERROR collecting tests/tf/blocks/core/test_transformations.py _________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/core/test_transformations.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/core/test_transformations.py:20: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ___ ERROR collecting tests/tf/blocks/retrieval/test_matrix_factorization.py ____ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/retrieval/test_matrix_factorization.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/retrieval/test_matrix_factorization.py:18: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _________ ERROR collecting tests/tf/blocks/retrieval/test_two_tower.py _________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/blocks/retrieval/test_two_tower.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/blocks/retrieval/test_two_tower.py:22: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ____________ ERROR collecting tests/tf/features/test_continuous.py _____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/features/test_continuous.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/features/test_continuous.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _____________ ERROR collecting tests/tf/features/test_embedding.py _____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/features/test_embedding.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/features/test_embedding.py:20: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ______________ ERROR collecting tests/tf/features/test_tabular.py ______________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/features/test_tabular.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/features/test_tabular.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ________________ ERROR collecting tests/tf/layers/test_queue.py ________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/layers/test_queue.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/layers/test_queue.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _______________ ERROR collecting tests/tf/losses/test_losses.py ________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/losses/test_losses.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/losses/test_losses.py:20: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ______________ ERROR collecting tests/tf/models/test_benchmark.py ______________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/models/test_benchmark.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/models/test_benchmark.py:18: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _______________ ERROR collecting tests/tf/models/test_ranking.py _______________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/models/test_ranking.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/models/test_ranking.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ______________ ERROR collecting tests/tf/models/test_retrieval.py ______________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/models/test_retrieval.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/models/test_retrieval.py:4: in import merlin.models.tf as mm merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' _________ ERROR collecting tests/tf/prediction/test_classification.py __________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/prediction/test_classification.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/prediction/test_classification.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ___________ ERROR collecting tests/tf/prediction/test_multi_task.py ____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/prediction/test_multi_task.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/prediction/test_multi_task.py:3: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ____________ ERROR collecting tests/tf/prediction/test_next_item.py ____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/prediction/test_next_item.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/prediction/test_next_item.py:20: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ___________ ERROR collecting tests/tf/prediction/test_regression.py ____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/prediction/test_regression.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/prediction/test_regression.py:19: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ____________ ERROR collecting tests/tf/prediction/test_sampling.py _____________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/prediction/test_sampling.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/prediction/test_sampling.py:20: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' ________________ ERROR collecting tests/tf/utils/test_batch.py _________________ ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/tf/utils/test_batch.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/tf/utils/test_batch.py:4: in import merlin.models.tf as ml merlin/models/tf/init.py:96: in from merlin.models.tf.models import benchmark merlin/models/tf/models/benchmark.py:26: in from merlin.models.tf.models.utils import parse_prediction_tasks E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils' =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ ERROR tests/tf/test_core.py ERROR tests/tf/test_dataset.py ERROR tests/tf/test_public_api.py ERROR tests/tf/blocks/test_dlrm.py ERROR tests/tf/blocks/test_interactions.py ERROR tests/tf/blocks/test_mlp.py ERROR tests/tf/blocks/core/test_aggregation.py ERROR tests/tf/blocks/core/test_base.py ERROR tests/tf/blocks/core/test_index.py ERROR tests/tf/blocks/core/test_masking.py ERROR tests/tf/blocks/core/test_transformations.py ERROR tests/tf/blocks/retrieval/test_matrix_factorization.py ERROR tests/tf/blocks/retrieval/test_two_tower.py ERROR tests/tf/features/test_continuous.py ERROR tests/tf/features/test_embedding.py ERROR tests/tf/features/test_tabular.py ERROR tests/tf/layers/test_queue.py ERROR tests/tf/losses/test_losses.py ERROR tests/tf/models/test_benchmark.py ERROR tests/tf/models/test_ranking.py ERROR tests/tf/models/test_retrieval.py ERROR tests/tf/prediction/test_classification.py ERROR tests/tf/prediction/test_multi_task.py ERROR tests/tf/prediction/test_next_item.py ERROR tests/tf/prediction/test_regression.py ERROR tests/tf/prediction/test_sampling.py ERROR tests/tf/utils/test_batch.py !!!!!!!!!!!!!!!!!!! Interrupted: 27 errors during collection !!!!!!!!!!!!!!!!!!! ================== 3 skipped, 17 warnings, 27 errors in 3.42s ================== Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins3075498338827358373.sh

nvidia-merlin-bot avatar Apr 04 '22 11:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit 8cac015ca0326bb41dceeef66913cfa07d83375b, no merge conflicts.
Running as SYSTEM
Setting status of 8cac015ca0326bb41dceeef66913cfa07d83375b to PENDING with url https://10.20.13.93:8080/job/merlin_models/28/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse 8cac015ca0326bb41dceeef66913cfa07d83375b^{commit} # timeout=10
Checking out Revision 8cac015ca0326bb41dceeef66913cfa07d83375b (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 8cac015ca0326bb41dceeef66913cfa07d83375b # timeout=10
Commit message: "Fix NCFModel"
 > git rev-list --no-walk f343a2a3d1ec4300ef4026e8e9baa5ee377252de # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins8714959019930468576.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 372 items / 2 skipped

tests/data/test_advertising.py .s [ 0%] tests/data/test_ecommerce.py ..sss [ 1%] tests/data/test_entertainment.py ....sss [ 3%] tests/data/test_social.py . [ 4%] tests/data/test_synthetic.py .... [ 5%] tests/tf/test_core.py ..........FFF... [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 18%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................F [ 26%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 31%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 52%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ............. [ 67%] tests/tf/prediction/test_classification.py .. [ 67%] tests/tf/prediction/test_multi_task.py ....... [ 69%] tests/tf/prediction/test_next_item.py .................... [ 75%] tests/tf/prediction/test_regression.py .. [ 75%] tests/tf/prediction/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 81%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=================================== FAILURES =================================== _____________________________ test_block_to_model ______________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe372eab4f0>

def test_block_to_model(ecommerce_data: Dataset):
    embedding_options = ml.EmbeddingOptions(embedding_dim_default=32)
  model = ml.MLPBlock([64]).to_model(
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
        embedding_options=embedding_options,
    )

tests/tf/test_core.py:149:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7fe3802cb8e0> ) kwargs = {'embedding_options': EmbeddingOptions(embedding_dims=None, embedding_dim_default=32, infer_embedding_sizes=False, infer_embedding_sizes_multiplier=2.0, embeddings_initializers=None, combiner='mean')} InputBlock = <function InputBlock at 0x7fe4da121160> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____________________________ test_model_from_block _____________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe3803629d0>

def test_model_from_block(ecommerce_data: Dataset):
  model = ml.Model.from_block(
        ml.MLPBlock([64]),
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
    )

tests/tf/test_core.py:166:


merlin/models/tf/models/base.py:174: in from_block return block.to_model(


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7fe3796bff70> ) kwargs = {}, InputBlock = <function InputBlock at 0x7fe4da121160> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ________________________ test_block_with_input_to_model ________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe37983f8b0>

def test_block_with_input_to_model(ecommerce_data: Dataset):
    inputs = ml.InputBlock(ecommerce_data.schema)
    block = inputs.connect(ml.MLPBlock([64]))

    with pytest.raises(ValueError) as excinfo:
      block.to_model(
            ecommerce_data.schema,
            input_block=inputs,
        )

tests/tf/test_core.py:183:


self = SequentialBlock( (layers): List( (0): ParallelBlock( (parallel_layers): Dict( (categorical): Embed...: List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = ParallelBlock( (parallel_layers): Dict( (categorical): EmbeddingFeatures( (feature_config): Dict( ... (22): 'position' ) ) (1): AsSparseFeatures() ) ) ) ) ) prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7fe4da121160> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError __________________________ test_mlp_model_save[True] ___________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe342471eb0> run_eagerly = True tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-0/test_mlp_model_save_True_0')

@pytest.mark.parametrize("run_eagerly", [True])
def test_mlp_model_save(ecommerce_data: Dataset, run_eagerly: bool, tmp_path):
  model = ml.MLPBlock(
        [64], kernel_regularizer=regularizers.l2(1e-1), bias_regularizer=regularizers.l2(1e-1)
    ).to_model(ecommerce_data.schema)

tests/tf/blocks/test_mlp.py:87:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None, prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7fe4da121160> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmpp2yx6237.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/tf/test_core.py::test_block_to_model - ModuleNotFoundError: No m... FAILED tests/tf/test_core.py::test_model_from_block - ModuleNotFoundError: No... FAILED tests/tf/test_core.py::test_block_with_input_to_model - ModuleNotFound... FAILED tests/tf/blocks/test_mlp.py::test_mlp_model_save[True] - ModuleNotFoun... ====== 4 failed, 361 passed, 9 skipped, 90 warnings in 562.38s (0:09:22) ======= Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins2924674783540245566.sh

nvidia-merlin-bot avatar Apr 04 '22 11:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit 0ad9146f031b5aa43fa2a0b0ab64b1baeecaa266, no merge conflicts.
Running as SYSTEM
Setting status of 0ad9146f031b5aa43fa2a0b0ab64b1baeecaa266 to PENDING with url https://10.20.13.93:8080/job/merlin_models/29/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse 0ad9146f031b5aa43fa2a0b0ab64b1baeecaa266^{commit} # timeout=10
Checking out Revision 0ad9146f031b5aa43fa2a0b0ab64b1baeecaa266 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 0ad9146f031b5aa43fa2a0b0ab64b1baeecaa266 # timeout=10
Commit message: "Trying to fix prettier in pre-commit"
 > git rev-list --no-walk 8cac015ca0326bb41dceeef66913cfa07d83375b # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins5117959117349032417.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 372 items / 2 skipped

tests/data/test_advertising.py .s [ 0%] tests/data/test_ecommerce.py ..sss [ 1%] tests/data/test_entertainment.py ....sss [ 3%] tests/data/test_social.py . [ 4%] tests/data/test_synthetic.py .... [ 5%] tests/tf/test_core.py ..........FFF... [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 18%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................F [ 26%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 31%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 52%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ............. [ 67%] tests/tf/prediction/test_classification.py .. [ 67%] tests/tf/prediction/test_multi_task.py ....... [ 69%] tests/tf/prediction/test_next_item.py .................... [ 75%] tests/tf/prediction/test_regression.py .. [ 75%] tests/tf/prediction/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 81%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=================================== FAILURES =================================== _____________________________ test_block_to_model ______________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe1930f6340>

def test_block_to_model(ecommerce_data: Dataset):
    embedding_options = ml.EmbeddingOptions(embedding_dim_default=32)
  model = ml.MLPBlock([64]).to_model(
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
        embedding_options=embedding_options,
    )

tests/tf/test_core.py:149:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7fe17a6818b0> ) kwargs = {'embedding_options': EmbeddingOptions(embedding_dims=None, embedding_dim_default=32, infer_embedding_sizes=False, infer_embedding_sizes_multiplier=2.0, embeddings_initializers=None, combiner='mean')} InputBlock = <function InputBlock at 0x7fe2f353e0d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____________________________ test_model_from_block _____________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe20ee6f6d0>

def test_model_from_block(ecommerce_data: Dataset):
  model = ml.Model.from_block(
        ml.MLPBlock([64]),
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
    )

tests/tf/test_core.py:166:


merlin/models/tf/models/base.py:174: in from_block return block.to_model(


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7fe190f0f040> ) kwargs = {}, InputBlock = <function InputBlock at 0x7fe2f353e0d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ________________________ test_block_with_input_to_model ________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe190ecd6a0>

def test_block_with_input_to_model(ecommerce_data: Dataset):
    inputs = ml.InputBlock(ecommerce_data.schema)
    block = inputs.connect(ml.MLPBlock([64]))

    with pytest.raises(ValueError) as excinfo:
      block.to_model(
            ecommerce_data.schema,
            input_block=inputs,
        )

tests/tf/test_core.py:183:


self = SequentialBlock( (layers): List( (0): ParallelBlock( (parallel_layers): Dict( (categorical): Embed...: List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = ParallelBlock( (parallel_layers): Dict( (categorical): EmbeddingFeatures( (feature_config): Dict( ... (22): 'position' ) ) (1): AsSparseFeatures() ) ) ) ) ) prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7fe2f353e0d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError __________________________ test_mlp_model_save[True] ___________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7fe19180e0a0> run_eagerly = True tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-1/test_mlp_model_save_True_0')

@pytest.mark.parametrize("run_eagerly", [True])
def test_mlp_model_save(ecommerce_data: Dataset, run_eagerly: bool, tmp_path):
  model = ml.MLPBlock(
        [64], kernel_regularizer=regularizers.l2(1e-1), bias_regularizer=regularizers.l2(1e-1)
    ).to_model(ecommerce_data.schema)

tests/tf/blocks/test_mlp.py:87:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None, prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7fe2f353e0d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmpl4dwgtzm.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/tf/test_core.py::test_block_to_model - ModuleNotFoundError: No m... FAILED tests/tf/test_core.py::test_model_from_block - ModuleNotFoundError: No... FAILED tests/tf/test_core.py::test_block_with_input_to_model - ModuleNotFound... FAILED tests/tf/blocks/test_mlp.py::test_mlp_model_save[True] - ModuleNotFoun... ====== 4 failed, 361 passed, 9 skipped, 90 warnings in 562.30s (0:09:22) ======= Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins7052019416726281881.sh

nvidia-merlin-bot avatar Apr 04 '22 11:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit 90af15bd6097bf4447c7e42daff01b177b684478, no merge conflicts.
Running as SYSTEM
Setting status of 90af15bd6097bf4447c7e42daff01b177b684478 to PENDING with url https://10.20.13.93:8080/job/merlin_models/30/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse 90af15bd6097bf4447c7e42daff01b177b684478^{commit} # timeout=10
Checking out Revision 90af15bd6097bf4447c7e42daff01b177b684478 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 90af15bd6097bf4447c7e42daff01b177b684478 # timeout=10
Commit message: "Trying to fix prettier in pre-commit"
 > git rev-list --no-walk 0ad9146f031b5aa43fa2a0b0ab64b1baeecaa266 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins589259074747473988.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 372 items / 2 skipped

tests/data/test_advertising.py .s [ 0%] tests/data/test_ecommerce.py ..sss [ 1%] tests/data/test_entertainment.py ....sss [ 3%] tests/data/test_social.py . [ 4%] tests/data/test_synthetic.py .... [ 5%] tests/tf/test_core.py ..........FFF... [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 18%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................F [ 26%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 31%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 52%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ............. [ 67%] tests/tf/prediction/test_classification.py .. [ 67%] tests/tf/prediction/test_multi_task.py ....... [ 69%] tests/tf/prediction/test_next_item.py .................... [ 75%] tests/tf/prediction/test_regression.py .. [ 75%] tests/tf/prediction/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 81%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=================================== FAILURES =================================== _____________________________ test_block_to_model ______________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f1f1fe36820>

def test_block_to_model(ecommerce_data: Dataset):
    embedding_options = ml.EmbeddingOptions(embedding_dim_default=32)
  model = ml.MLPBlock([64]).to_model(
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
        embedding_options=embedding_options,
    )

tests/tf/test_core.py:149:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7f1f174765b0> ) kwargs = {'embedding_options': EmbeddingOptions(embedding_dims=None, embedding_dim_default=32, infer_embedding_sizes=False, infer_embedding_sizes_multiplier=2.0, embeddings_initializers=None, combiner='mean')} InputBlock = <function InputBlock at 0x7f207edc60d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____________________________ test_model_from_block _____________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f1f315b3f70>

def test_model_from_block(ecommerce_data: Dataset):
  model = ml.Model.from_block(
        ml.MLPBlock([64]),
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
    )

tests/tf/test_core.py:166:


merlin/models/tf/models/base.py:174: in from_block return block.to_model(


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7f1f1ea08160> ) kwargs = {}, InputBlock = <function InputBlock at 0x7f207edc60d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ________________________ test_block_with_input_to_model ________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f1f1e981820>

def test_block_with_input_to_model(ecommerce_data: Dataset):
    inputs = ml.InputBlock(ecommerce_data.schema)
    block = inputs.connect(ml.MLPBlock([64]))

    with pytest.raises(ValueError) as excinfo:
      block.to_model(
            ecommerce_data.schema,
            input_block=inputs,
        )

tests/tf/test_core.py:183:


self = SequentialBlock( (layers): List( (0): ParallelBlock( (parallel_layers): Dict( (categorical): Embed...: List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = ParallelBlock( (parallel_layers): Dict( (categorical): EmbeddingFeatures( (feature_config): Dict( ... (22): 'position' ) ) (1): AsSparseFeatures() ) ) ) ) ) prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7f207edc60d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError __________________________ test_mlp_model_save[True] ___________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f1f1dd74160> run_eagerly = True tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-2/test_mlp_model_save_True_0')

@pytest.mark.parametrize("run_eagerly", [True])
def test_mlp_model_save(ecommerce_data: Dataset, run_eagerly: bool, tmp_path):
  model = ml.MLPBlock(
        [64], kernel_regularizer=regularizers.l2(1e-1), bias_regularizer=regularizers.l2(1e-1)
    ).to_model(ecommerce_data.schema)

tests/tf/blocks/test_mlp.py:87:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None, prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7f207edc60d0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmpf2eedqdh.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/tf/test_core.py::test_block_to_model - ModuleNotFoundError: No m... FAILED tests/tf/test_core.py::test_model_from_block - ModuleNotFoundError: No... FAILED tests/tf/test_core.py::test_block_with_input_to_model - ModuleNotFound... FAILED tests/tf/blocks/test_mlp.py::test_mlp_model_save[True] - ModuleNotFoun... ====== 4 failed, 361 passed, 9 skipped, 90 warnings in 561.16s (0:09:21) ======= Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins5755318424292135909.sh

nvidia-merlin-bot avatar Apr 04 '22 11:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit 7482700e50e71b3165936cccf464e430c502f947, no merge conflicts.
Running as SYSTEM
Setting status of 7482700e50e71b3165936cccf464e430c502f947 to PENDING with url https://10.20.13.93:8080/job/merlin_models/70/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse 7482700e50e71b3165936cccf464e430c502f947^{commit} # timeout=10
Checking out Revision 7482700e50e71b3165936cccf464e430c502f947 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 7482700e50e71b3165936cccf464e430c502f947 # timeout=10
Commit message: "Trying to fix prettier in pre-commit"
 > git rev-list --no-walk 9d4e89e69e3bd7a7aee6982295552c340001b173 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins8039959751512138505.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 373 items / 2 skipped

tests/datasets/test_advertising.py .s [ 0%] tests/datasets/test_ecommerce.py ..sss [ 1%] tests/datasets/test_entertainment.py ....sss [ 3%] tests/datasets/test_social.py . [ 4%] tests/datasets/test_synthetic.py ..... [ 5%] tests/tf/test_core.py ..........FFF... [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 19%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................F [ 27%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 32%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 53%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py .........F... [ 67%] tests/tf/prediction_tasks/test_classification.py .. [ 67%] tests/tf/prediction_tasks/test_multi_task.py ....... [ 69%] tests/tf/prediction_tasks/test_next_item.py .................... [ 75%] tests/tf/prediction_tasks/test_regression.py .. [ 75%] tests/tf/prediction_tasks/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 82%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=================================== FAILURES =================================== _____________________________ test_block_to_model ______________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f3f7dfea280>

def test_block_to_model(ecommerce_data: Dataset):
    embedding_options = ml.EmbeddingOptions(embedding_dim_default=32)
  model = ml.MLPBlock([64]).to_model(
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
        embedding_options=embedding_options,
    )

tests/tf/test_core.py:149:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7f3eee11e670> ) kwargs = {'embedding_options': EmbeddingOptions(embedding_dims=None, embedding_dim_default=32, infer_embedding_sizes=False, infer_embedding_sizes_multiplier=2.0, embeddings_initializers=None, combiner='mean')} InputBlock = <function InputBlock at 0x7f4053090dc0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____________________________ test_model_from_block _____________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f3f015c11c0>

def test_model_from_block(ecommerce_data: Dataset):
  model = ml.Model.from_block(
        ml.MLPBlock([64]),
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
    )

tests/tf/test_core.py:166:


merlin/models/tf/models/base.py:174: in from_block return block.to_model(


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7f3ef8c0e370> ) kwargs = {}, InputBlock = <function InputBlock at 0x7f4053090dc0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ________________________ test_block_with_input_to_model ________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f3ef9944460>

def test_block_with_input_to_model(ecommerce_data: Dataset):
    inputs = ml.InputBlock(ecommerce_data.schema)
    block = inputs.connect(ml.MLPBlock([64]))

    with pytest.raises(ValueError) as excinfo:
      block.to_model(
            ecommerce_data.schema,
            input_block=inputs,
        )

tests/tf/test_core.py:183:


self = SequentialBlock( (layers): List( (0): ParallelBlock( (parallel_layers): Dict( (categorical): Embed...: List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = ParallelBlock( (parallel_layers): Dict( (categorical): EmbeddingFeatures( (feature_config): Dict( ... (22): 'position' ) ) (1): AsSparseFeatures() ) ) ) ) ) prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7f4053090dc0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError __________________________ test_mlp_model_save[True] ___________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f3ef97852b0> run_eagerly = True tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-16/test_mlp_model_save_True_0')

@pytest.mark.parametrize("run_eagerly", [True])
def test_mlp_model_save(ecommerce_data: Dataset, run_eagerly: bool, tmp_path):
  model = ml.MLPBlock(
        [64], kernel_regularizer=regularizers.l2(1e-1), bias_regularizer=regularizers.l2(1e-1)
    ).to_model(ecommerce_data.schema)

tests/tf/blocks/test_mlp.py:87:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None, prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7f4053090dc0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____ test_two_tower_retrieval_model_with_metrics[binary_crossentropy-False] ____

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7f3ea3ccca60> run_eagerly = False, loss = 'binary_crossentropy'

@pytest.mark.parametrize("run_eagerly", [True, False])
@pytest.mark.parametrize("loss", ["categorical_crossentropy", "bpr", "binary_crossentropy"])
def test_two_tower_retrieval_model_with_metrics(ecommerce_data: Dataset, run_eagerly, loss):
    ecommerce_data.schema = ecommerce_data.schema.remove_by_tag(Tags.TARGET)

    metrics = [RecallAt(5), MRRAt(5), NDCGAt(5), AvgPrecisionAt(5), PrecisionAt(5)]
    model = mm.TwoTowerModel(
        schema=ecommerce_data.schema,
        query_tower=mm.MLPBlock([128, 64]),
        samplers=[mm.InBatchSampler()],
        metrics=metrics,
        loss=loss,
    )
    # Setting up evaluation
    model.set_retrieval_candidates_for_evaluation(ecommerce_data)
    model.compile(optimizer="adam", run_eagerly=run_eagerly)

    # Training
    num_epochs = 2
    losses = model.fit(
        ecommerce_data,
        batch_size=10,
        epochs=num_epochs,
        train_metrics_steps=3,
        validation_data=ecommerce_data,
        validation_steps=3,
    )
    assert len(losses.epoch) == num_epochs

    # Checking train metrics
    expected_metrics = ["recall_at_5", "mrr_at_5", "ndcg_5", "map_at_5", "precision_at_5"]
    expected_loss_metrics = ["loss", "regularization_loss", "total_loss"]
    expected_metrics_all = expected_metrics + expected_loss_metrics
    assert len(expected_metrics_all) == len(
        set(losses.history.keys()).intersection(set(expected_metrics_all))
    )
    for metric_name in expected_metrics + expected_loss_metrics:
        assert len(losses.history[metric_name]) == num_epochs
        if metric_name in expected_metrics:
            assert losses.history[metric_name][1] >= losses.history[metric_name][0]
        elif metric_name in expected_loss_metrics:
          assert losses.history[metric_name][1] <= losses.history[metric_name][0]

E assert 0.2920134961605072 <= 0.28963685035705566

tests/tf/models/test_retrieval.py:75: AssertionError ----------------------------- Captured stdout call ----------------------------- Epoch 1/2

1/10 [==>...........................] - ETA: 41s - recall_at_5: 0.6000 - mrr_at_5: 0.1983 - ndcg_5: 0.2966 - map_at_5: 0.1983 - precision_at_5: 0.1200 - loss: 0.4466 - regularization_loss: 0.0000e+00 - total_loss: 0.4466 6/10 [=================>............] - ETA: 0s - recall_at_5: 0.4500 - mrr_at_5: 0.1842 - ndcg_5: 0.2492 - map_at_5: 0.1842 - precision_at_5: 0.0900 - loss: 0.3515 - regularization_loss: 0.0000e+00 - total_loss: 0.3515 10/10 [==============================] - ETA: 0s - recall_at_5: 0.5000 - mrr_at_5: 0.2154 - ndcg_5: 0.2850 - map_at_5: 0.2154 - precision_at_5: 0.1000 - loss: 0.3322 - regularization_loss: 0.0000e+00 - total_loss: 0.3322 10/10 [==============================] - 11s 723ms/step - recall_at_5: 0.5000 - mrr_at_5: 0.2154 - ndcg_5: 0.2850 - map_at_5: 0.2154 - precision_at_5: 0.1000 - loss: 0.3284 - regularization_loss: 0.0000e+00 - total_loss: 0.3284 - val_recall_at_5: 0.7333 - val_mrr_at_5: 0.3611 - val_ndcg_5: 0.4527 - val_map_at_5: 0.3611 - val_precision_at_5: 0.1467 - val_loss: 0.2843 - val_regularization_loss: 0.0000e+00 - val_total_loss: 0.2843 Epoch 2/2

1/10 [==>...........................] - ETA: 0s - recall_at_5: 0.5000 - mrr_at_5: 0.2833 - ndcg_5: 0.3393 - map_at_5: 0.2833 - precision_at_5: 0.1000 - loss: 0.2945 - regularization_loss: 0.0000e+00 - total_loss: 0.2945 5/10 [==============>...............] - ETA: 0s - recall_at_5: 0.6500 - mrr_at_5: 0.3933 - ndcg_5: 0.4570 - map_at_5: 0.3933 - precision_at_5: 0.1300 - loss: 0.2911 - regularization_loss: 0.0000e+00 - total_loss: 0.2911 9/10 [==========================>...] - ETA: 0s - recall_at_5: 0.6667 - mrr_at_5: 0.3939 - ndcg_5: 0.4617 - map_at_5: 0.3939 - precision_at_5: 0.1333 - loss: 0.2874 - regularization_loss: 0.0000e+00 - total_loss: 0.2874 10/10 [==============================] - 4s 410ms/step - recall_at_5: 0.6500 - mrr_at_5: 0.3683 - ndcg_5: 0.4386 - map_at_5: 0.3683 - precision_at_5: 0.1300 - loss: 0.2883 - regularization_loss: 0.0000e+00 - total_loss: 0.2883 - val_recall_at_5: 0.8000 - val_mrr_at_5: 0.4617 - val_ndcg_5: 0.5467 - val_map_at_5: 0.4617 - val_precision_at_5: 0.1600 - val_loss: 0.2613 - val_regularization_loss: 0.0000e+00 - val_total_loss: 0.2613 ----------------------------- Captured stderr call ----------------------------- WARNING:tensorflow:AutoGraph could not transform <function trace_model_call.._wrapped_model at 0x7f3eef11e430> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING:tensorflow:AutoGraph could not transform <function canonicalize_signatures..signature_wrapper at 0x7f3eca34dd30> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING:tensorflow:No training configuration found in save file, so the model was not compiled. Compile it manually. 2022-04-05 15:29:46.154679: W tensorflow/core/grappler/optimizers/loop_optimizer.cc:907] Skipping loop optimization for Merge node with control input: cond/then/_0/cond/cond/branch_executed/_236 WARNING:tensorflow:AutoGraph could not transform <function trace_model_call.._wrapped_model at 0x7f3eefdae5e0> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING:tensorflow:AutoGraph could not transform <function canonicalize_signatures..signature_wrapper at 0x7f3e8ffbae50> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING:tensorflow:No training configuration found in save file, so the model was not compiled. Compile it manually. ------------------------------ Captured log call ------------------------------- WARNING merlin_models:api.py:451 The sampler InBatchSampler returned no samples for this batch. WARNING tensorflow:ag_logging.py:146 AutoGraph could not transform <function trace_model_call.._wrapped_model at 0x7f3eef11e430> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING tensorflow:ag_logging.py:146 AutoGraph could not transform <function canonicalize_signatures..signature_wrapper at 0x7f3eca34dd30> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING absl:save.py:249 Found untraced functions such as block_context_88_layer_call_fn, block_context_88_layer_call_and_return_conditional_losses, block_context_88_layer_call_fn, block_context_88_layer_call_and_return_conditional_losses, block_context_88_layer_call_and_return_conditional_losses while saving (showing 5 of 65). These functions will not be directly callable after loading. WARNING tensorflow:load.py:165 No training configuration found in save file, so the model was not compiled. Compile it manually. WARNING tensorflow:ag_logging.py:146 AutoGraph could not transform <function trace_model_call.._wrapped_model at 0x7f3eefdae5e0> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING tensorflow:ag_logging.py:146 AutoGraph could not transform <function canonicalize_signatures..signature_wrapper at 0x7f3e8ffbae50> and will run it as-is. Please report this to the TensorFlow team. When filing the bug, set the verbosity to 10 (on Linux, export AUTOGRAPH_VERBOSITY=10) and attach the full output. Cause: unsupported operand type(s) for -: 'NoneType' and 'int' To silence this warning, decorate the function with @tf.autograph.experimental.do_not_convert WARNING absl:save.py:249 Found untraced functions such as block_context_88_layer_call_fn, block_context_88_layer_call_and_return_conditional_losses, block_context_88_layer_call_fn, block_context_88_layer_call_and_return_conditional_losses, block_context_88_layer_call_and_return_conditional_losses while saving (showing 5 of 65). These functions will not be directly callable after loading. WARNING tensorflow:load.py:165 No training configuration found in save file, so the model was not compiled. Compile it manually. =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/datasets/test_ecommerce.py::test_synthetic_aliccp_raw_data tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction_tasks/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmptsc9rzc5.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/tf/test_core.py::test_block_to_model - ModuleNotFoundError: No m... FAILED tests/tf/test_core.py::test_model_from_block - ModuleNotFoundError: No... FAILED tests/tf/test_core.py::test_block_with_input_to_model - ModuleNotFound... FAILED tests/tf/blocks/test_mlp.py::test_mlp_model_save[True] - ModuleNotFoun... FAILED tests/tf/models/test_retrieval.py::test_two_tower_retrieval_model_with_metrics[binary_crossentropy-False] ====== 5 failed, 361 passed, 9 skipped, 91 warnings in 557.33s (0:09:17) ======= Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins3143478941948146407.sh

nvidia-merlin-bot avatar Apr 05 '22 15:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit 5b135ebd5bbd2340185b5c3f11074b35b84cbfc2, no merge conflicts.
Running as SYSTEM
Setting status of 5b135ebd5bbd2340185b5c3f11074b35b84cbfc2 to PENDING with url https://10.20.13.93:8080/job/merlin_models/71/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse 5b135ebd5bbd2340185b5c3f11074b35b84cbfc2^{commit} # timeout=10
Checking out Revision 5b135ebd5bbd2340185b5c3f11074b35b84cbfc2 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 5b135ebd5bbd2340185b5c3f11074b35b84cbfc2 # timeout=10
Commit message: "fix youtube-dnn docstrings"
 > git rev-list --no-walk 7482700e50e71b3165936cccf464e430c502f947 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6900943387910905316.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 373 items / 2 skipped

tests/datasets/test_advertising.py .s [ 0%] tests/datasets/test_ecommerce.py ..sss [ 1%] tests/datasets/test_entertainment.py ....sss [ 3%] tests/datasets/test_social.py . [ 4%] tests/datasets/test_synthetic.py ..... [ 5%] tests/tf/test_core.py ..........FFF... [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 19%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................F [ 27%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 32%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 53%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ............. [ 67%] tests/tf/prediction_tasks/test_classification.py .. [ 67%] tests/tf/prediction_tasks/test_multi_task.py ....... [ 69%] tests/tf/prediction_tasks/test_next_item.py .................... [ 75%] tests/tf/prediction_tasks/test_regression.py .. [ 75%] tests/tf/prediction_tasks/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 82%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=================================== FAILURES =================================== _____________________________ test_block_to_model ______________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff1ac873160>

def test_block_to_model(ecommerce_data: Dataset):
    embedding_options = ml.EmbeddingOptions(embedding_dim_default=32)
  model = ml.MLPBlock([64]).to_model(
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
        embedding_options=embedding_options,
    )

tests/tf/test_core.py:149:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7ff03c87a220> ) kwargs = {'embedding_options': EmbeddingOptions(embedding_dims=None, embedding_dim_default=32, infer_embedding_sizes=False, infer_embedding_sizes_multiplier=2.0, embeddings_initializers=None, combiner='mean')} InputBlock = <function InputBlock at 0x7ff1ac769e50> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____________________________ test_model_from_block _____________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff057a28940>

def test_model_from_block(ecommerce_data: Dataset):
  model = ml.Model.from_block(
        ml.MLPBlock([64]),
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
    )

tests/tf/test_core.py:166:


merlin/models/tf/models/base.py:174: in from_block return block.to_model(


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7ff05411f4c0> ) kwargs = {}, InputBlock = <function InputBlock at 0x7ff1ac769e50> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ________________________ test_block_with_input_to_model ________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff0540578b0>

def test_block_with_input_to_model(ecommerce_data: Dataset):
    inputs = ml.InputBlock(ecommerce_data.schema)
    block = inputs.connect(ml.MLPBlock([64]))

    with pytest.raises(ValueError) as excinfo:
      block.to_model(
            ecommerce_data.schema,
            input_block=inputs,
        )

tests/tf/test_core.py:183:


self = SequentialBlock( (layers): List( (0): ParallelBlock( (parallel_layers): Dict( (categorical): Embed...: List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = ParallelBlock( (parallel_layers): Dict( (categorical): EmbeddingFeatures( (feature_config): Dict( ... (22): 'position' ) ) (1): AsSparseFeatures() ) ) ) ) ) prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7ff1ac769e50> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError __________________________ test_mlp_model_save[True] ___________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff017cacd90> run_eagerly = True tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-18/test_mlp_model_save_True_0')

@pytest.mark.parametrize("run_eagerly", [True])
def test_mlp_model_save(ecommerce_data: Dataset, run_eagerly: bool, tmp_path):
  model = ml.MLPBlock(
        [64], kernel_regularizer=regularizers.l2(1e-1), bias_regularizer=regularizers.l2(1e-1)
    ).to_model(ecommerce_data.schema)

tests/tf/blocks/test_mlp.py:87:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.CATEGORICAL: 'categorical'>, <Tags.USER: 'user'>}, 'properties': {'domain'...ion'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None, prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7ff1ac769e50> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/datasets/test_ecommerce.py::test_synthetic_aliccp_raw_data tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction_tasks/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmpbvnpthe4.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/tf/test_core.py::test_block_to_model - ModuleNotFoundError: No m... FAILED tests/tf/test_core.py::test_model_from_block - ModuleNotFoundError: No... FAILED tests/tf/test_core.py::test_block_with_input_to_model - ModuleNotFound... FAILED tests/tf/blocks/test_mlp.py::test_mlp_model_save[True] - ModuleNotFoun... ====== 4 failed, 362 passed, 9 skipped, 91 warnings in 568.09s (0:09:28) ======= Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins7498319893969448096.sh

nvidia-merlin-bot avatar Apr 05 '22 15:04 nvidia-merlin-bot

Click to view CI Results
GitHub pull request #297 of commit 0895d0a7124548b3eb09ae363e78a50aa30a9292, no merge conflicts.
Running as SYSTEM
Setting status of 0895d0a7124548b3eb09ae363e78a50aa30a9292 to PENDING with url https://10.20.13.93:8080/job/merlin_models/80/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_models
using credential nvidia-merlin-bot
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/models/ # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/models/
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/models/ +refs/pull/297/*:refs/remotes/origin/pr/297/* # timeout=10
 > git rev-parse 0895d0a7124548b3eb09ae363e78a50aa30a9292^{commit} # timeout=10
Checking out Revision 0895d0a7124548b3eb09ae363e78a50aa30a9292 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 0895d0a7124548b3eb09ae363e78a50aa30a9292 # timeout=10
Commit message: "Merge branch 'main' into docs-strings"
 > git rev-list --no-walk 8f0adfe447c529fba71e5d7d5e839d4f0fc8022b # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6986482734783243032.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.1, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 373 items / 2 skipped

tests/datasets/test_advertising.py .s [ 0%] tests/datasets/test_ecommerce.py ..sss [ 1%] tests/datasets/test_entertainment.py ....sss [ 3%] tests/datasets/test_social.py . [ 4%] tests/datasets/test_synthetic.py ..... [ 5%] tests/tf/test_core.py ..........FFF... [ 9%] tests/tf/test_dataset.py .............. [ 13%] tests/tf/test_public_api.py . [ 13%] tests/tf/blocks/test_cross.py ............ [ 16%] tests/tf/blocks/test_dlrm.py ........ [ 19%] tests/tf/blocks/test_interactions.py . [ 19%] tests/tf/blocks/test_mlp.py ............................F [ 27%] tests/tf/blocks/core/test_aggregation.py ......... [ 29%] tests/tf/blocks/core/test_base.py . [ 29%] tests/tf/blocks/core/test_index.py .. [ 30%] tests/tf/blocks/core/test_masking.py ....... [ 32%] tests/tf/blocks/core/test_transformations.py ........ [ 34%] tests/tf/blocks/retrieval/test_matrix_factorization.py .. [ 34%] tests/tf/blocks/retrieval/test_two_tower.py .......... [ 37%] tests/tf/features/test_continuous.py ..... [ 38%] tests/tf/features/test_embedding.py ......... [ 41%] tests/tf/features/test_tabular.py ....... [ 43%] tests/tf/layers/test_queue.py .............. [ 46%] tests/tf/losses/test_losses.py ....................... [ 53%] tests/tf/metrics/test_metrics_ranking.py ................. [ 57%] tests/tf/models/test_benchmark.py . [ 57%] tests/tf/models/test_ranking.py ...................... [ 63%] tests/tf/models/test_retrieval.py ............. [ 67%] tests/tf/prediction_tasks/test_classification.py .. [ 67%] tests/tf/prediction_tasks/test_multi_task.py ....... [ 69%] tests/tf/prediction_tasks/test_next_item.py .................... [ 75%] tests/tf/prediction_tasks/test_regression.py .. [ 75%] tests/tf/prediction_tasks/test_sampling.py .................... [ 80%] tests/tf/utils/test_batch.py .... [ 82%] tests/torch/test_dataset.py ......... [ 84%] tests/torch/test_public_api.py . [ 84%] tests/torch/block/test_base.py .... [ 85%] tests/torch/block/test_mlp.py . [ 86%] tests/torch/features/test_continuous.py .. [ 86%] tests/torch/features/test_embedding.py .............. [ 90%] tests/torch/features/test_tabular.py .... [ 91%] tests/torch/model/test_head.py ............ [ 94%] tests/torch/model/test_model.py .. [ 95%] tests/torch/tabular/test_aggregation.py ........ [ 97%] tests/torch/tabular/test_tabular.py ... [ 98%] tests/torch/tabular/test_transformations.py ....... [100%]

=================================== FAILURES =================================== _____________________________ test_block_to_model ______________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff39b6910a0>

def test_block_to_model(ecommerce_data: Dataset):
    embedding_options = ml.EmbeddingOptions(embedding_dim_default=32)
  model = ml.MLPBlock([64]).to_model(
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
        embedding_options=embedding_options,
    )

tests/tf/test_core.py:149:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7ff37fd22340> ) kwargs = {'embedding_options': EmbeddingOptions(embedding_dims=None, embedding_dim_default=32, infer_embedding_sizes=False, infer_embedding_sizes_multiplier=2.0, embeddings_initializers=None, combiner='mean')} InputBlock = <function InputBlock at 0x7ff4ed8c4ca0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ____________________________ test_model_from_block _____________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff398ac8040>

def test_model_from_block(ecommerce_data: Dataset):
  model = ml.Model.from_block(
        ml.MLPBlock([64]),
        ecommerce_data.schema,
        prediction_tasks=ml.BinaryClassificationTask("click"),
    )

tests/tf/test_core.py:166:


merlin/models/tf/models/base.py:174: in from_block return block.to_model(


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None prediction_tasks = BinaryClassificationTask( (eval_metrics): List( (0): Precision( (thresholds): List( (0): 0.5 ...e_bias=True) (output_activation): Activation() (loss): <keras.losses.BinaryCrossentropy object at 0x7ff37fdf4b80> ) kwargs = {}, InputBlock = <function InputBlock at 0x7ff4ed8c4ca0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError ________________________ test_block_with_input_to_model ________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff3988b0490>

def test_block_with_input_to_model(ecommerce_data: Dataset):
    inputs = ml.InputBlock(ecommerce_data.schema)
    block = inputs.connect(ml.MLPBlock([64]))

    with pytest.raises(ValueError) as excinfo:
      block.to_model(
            ecommerce_data.schema,
            input_block=inputs,
        )

tests/tf/test_core.py:183:


self = SequentialBlock( (layers): List( (0): ParallelBlock( (parallel_layers): Dict( (categorical): Embed...: List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = ParallelBlock( (parallel_layers): Dict( (categorical): EmbeddingFeatures( (feature_config): Dict( ... (22): 'position' ) ) (1): AsSparseFeatures() ) ) ) ) ) prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7ff4ed8c4ca0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError __________________________ test_mlp_model_save[True] ___________________________

ecommerce_data = <merlin.io.dataset.Dataset object at 0x7ff37de50a30> run_eagerly = True tmp_path = PosixPath('/tmp/pytest-of-jenkins/pytest-44/test_mlp_model_save_True_0')

@pytest.mark.parametrize("run_eagerly", [True])
def test_mlp_model_save(ecommerce_data: Dataset, run_eagerly: bool, tmp_path):
  model = ml.MLPBlock(
        [64], kernel_regularizer=regularizers.l2(1e-1), bias_regularizer=regularizers.l2(1e-1)
    ).to_model(ecommerce_data.schema)

tests/tf/blocks/test_mlp.py:87:


self = MLPBlock( (layers): List( (0): _Dense( (dense): Dense(64, activation=relu, use_bias=True) ) ) ) schema = [{'name': 'user_categories', 'tags': {<Tags.USER: 'user'>, <Tags.CATEGORICAL: 'categorical'>}, 'properties': {'domain'...get'>}, 'properties': {'domain': {'min': 0, 'max': 0}}, 'dtype': dtype('int64'), 'is_list': False, 'is_ragged': False}] input_block = None, prediction_tasks = None, kwargs = {} InputBlock = <function InputBlock at 0x7ff4ed8c4ca0> Model = <class 'merlin.models.tf.models.base.Model'>

def to_model(
    self,
    schema: Schema,
    input_block: Optional[Block] = None,
    prediction_tasks: Optional[
        Union["PredictionTask", List["PredictionTask"], "ParallelPredictionBlock"]
    ] = None,
    **kwargs,
) -> "Model":
    """Wrap the block between inputs & outputs to create a model.

    Parameters
    ----------
    schema: Schema
        Schema to use for the model.
    input_block: Optional[Block]
        Block to use as input.
    prediction_tasks: Optional[
        Union[PredictionTask, List[PredictionTask], ParallelPredictionBlock]
    ]
        Prediction tasks to use.

    """
    from merlin.models.tf.blocks.core.inputs import InputBlock
    from merlin.models.tf.models.base import Model
  from merlin.models.tf.models.utils import parse_prediction_tasks

E ModuleNotFoundError: No module named 'merlin.models.tf.models.utils'

merlin/models/tf/blocks/core/base.py:605: ModuleNotFoundError =============================== warnings summary =============================== ../../../.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22 /var/jenkins_home/.local/lib/python3.8/site-packages/tensorflow/python/autograph/impl/api.py:22: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import imp

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:23: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. 'nearest': pil_image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:24: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. 'bilinear': pil_image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:25: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. 'bicubic': pil_image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:28: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. if hasattr(pil_image, 'HAMMING'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:29: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead. _PIL_INTERPOLATION_METHODS['hamming'] = pil_image.HAMMING

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:30: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. if hasattr(pil_image, 'BOX'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:31: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead. _PIL_INTERPOLATION_METHODS['box'] = pil_image.BOX

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:33: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. if hasattr(pil_image, 'LANCZOS'):

../../../../../usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34 /usr/local/lib/python3.8/dist-packages/keras_preprocessing/image/utils.py:34: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead. _PIL_INTERPOLATION_METHODS['lanczos'] = pil_image.LANCZOS

../../../../../usr/lib/python3/dist-packages/requests/init.py:89 /usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:228: DeprecationWarning: BILINEAR is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BILINEAR instead. interpolation: int = Image.BILINEAR,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:296: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:312: DeprecationWarning: NEAREST is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.NEAREST or Dither.NONE instead. interpolation: int = Image.NEAREST,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329 /usr/local/lib/python3.8/dist-packages/torchvision/transforms/functional_pil.py:329: DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BICUBIC instead. interpolation: int = Image.BICUBIC,

../../../../../usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11 /usr/local/lib/python3.8/dist-packages/torchvision/io/image.py:11: UserWarning: Failed to load image Python extension: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory warn(f"Failed to load image Python extension: {e}")

merlin/models/tf/models/base.py:1 /var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Sequence as SequenceCollection

tests/datasets/test_ecommerce.py::test_synthetic_aliccp_raw_data tests/tf/test_dataset.py::test_tf_drp_reset[100-True-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-True-8] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-10] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-9] tests/tf/test_dataset.py::test_tf_drp_reset[100-False-8] tests/tf/test_dataset.py::test_tf_catname_ordering tests/tf/test_dataset.py::test_tf_map /usr/lib/python3.8/site-packages/cudf/core/dataframe.py:1253: UserWarning: The deep parameter is ignored and is only included for pandas compatibility. warnings.warn(

tests/tf/blocks/core/test_index.py: 2 warnings tests/tf/models/test_retrieval.py: 13 warnings tests/tf/prediction_tasks/test_next_item.py: 43 warnings tests/tf/utils/test_batch.py: 2 warnings /tmp/tmpdh20orky.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead ag__.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5] tests/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7] /var/jenkins_home/.local/lib/python3.8/site-packages/keras/backend.py:6089: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead. warnings.warn('tf.keras.backend.random_binomial is deprecated, '

tests/torch/block/test_mlp.py::test_mlp_block /var/jenkins_home/workspace/merlin_models/models/tests/torch/_conftest.py:151: UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ../torch/csrc/utils/tensor_new.cpp:201.) return {key: torch.tensor(value) for key, value in data.items()}

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/tf/test_core.py::test_block_to_model - ModuleNotFoundError: No m... FAILED tests/tf/test_core.py::test_model_from_block - ModuleNotFoundError: No... FAILED tests/tf/test_core.py::test_block_with_input_to_model - ModuleNotFound... FAILED tests/tf/blocks/test_mlp.py::test_mlp_model_save[True] - ModuleNotFoun... ====== 4 failed, 362 passed, 9 skipped, 91 warnings in 562.37s (0:09:22) ======= Build step 'Execute shell' marked build as failure Performing Post build task... Match found for : : True Logical operation result is TRUE Running script : #!/bin/bash cd /var/jenkins_home/ CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log" [merlin_models] $ /bin/bash /tmp/jenkins4999798113812696616.sh

nvidia-merlin-bot avatar Apr 05 '22 23:04 nvidia-merlin-bot

Moved to arbitration. Not clear how this maps to the roadmap . @marcromeyn , please clarify.

viswa-nvidia avatar Jul 22 '22 22:07 viswa-nvidia

Moved to arbitration. Not clear how this maps to the roadmap . @marcromeyn , please clarify.

viswa-nvidia avatar Jul 22 '22 22:07 viswa-nvidia

@marcromeyn is this PR still relevant? Are you active working on it? Can we close it OR move it to need prioritization/clarification?

bschifferer avatar Oct 18 '22 09:10 bschifferer

We have a new API so this one can be closed

viswa-nvidia avatar Nov 01 '22 17:11 viswa-nvidia