models
models copied to clipboard
Adding better doc-strings for retrieval & ranking models
Fixes # (issue)
Goals :soccer:
Implementation Details :construction:
Testing Details :mag:
@marcromeyn can we get this updated for the release on tuesday?
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
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
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
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
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
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
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
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
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
Moved to arbitration. Not clear how this maps to the roadmap . @marcromeyn , please clarify.
Moved to arbitration. Not clear how this maps to the roadmap . @marcromeyn , please clarify.
@marcromeyn is this PR still relevant? Are you active working on it? Can we close it OR move it to need prioritization/clarification?
We have a new API so this one can be closed