Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add xgboost example #522

Merged
merged 1 commit into from Jun 30, 2022
Merged

add xgboost example #522

merged 1 commit into from Jun 30, 2022

Conversation

radekosmulski
Copy link
Contributor

I have begun to work on an example for an xgboost model having been asked to do so by @bschifferer (please see the notebook in the PR). Being able to pass a Dataset directly to xgboost and the context manager for starting a dask cluster feel great!

But the problem is that with the current integration xgboost would be very hard to use in practice.

xgboost makes it very easy to overfit and so you really need to use early stopping. But early stopping evaluated on the train set is not helpful, you really need to be able to run this on your validation set. On top of that, it is really helpful to be able to pass your own custom metric both to monitor the training and to evaluate when to stop.

In the notebook, I implement a minimum workflow with xgboost that I think would be good to have supported by Merlin Models.

image

As far as I can tell, what we might be missing:
✅ passing a validation set for monitoring / early stopping in training
✅ passing a custom metric
✅ ability to specify what we run the custom metric on (that is an extra I guess, since not being to specify to run it only one the validation set only has the adverse effect of slowing things down, crowding the UI, though being able to limit this would be nice)

Now, if we would like to be on the cutting edge, and that might be a bit of a stretch (though this is an amazing functionality, especially when working with a lot of data), it would be amazing to support xgb.DeviceQuantileDMatrix as input source.

image

More in an article from our rapids friends here. Can provide an example of how this could be used with the movielens dataset if that can be helpful.

Fixes #132

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@radekosmulski radekosmulski marked this pull request as draft June 22, 2022 05:56
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit e7c7255f4e5a9d2b500b50e2c1f48e49b49f4e2b, no merge conflicts.
Running as SYSTEM
Setting status of e7c7255f4e5a9d2b500b50e2c1f48e49b49f4e2b to PENDING with url https://10.20.13.93:8080/job/merlin_models/498/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse e7c7255f4e5a9d2b500b50e2c1f48e49b49f4e2b^{commit} # timeout=10
Checking out Revision e7c7255f4e5a9d2b500b50e2c1f48e49b49f4e2b (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f e7c7255f4e5a9d2b500b50e2c1f48e49b49f4e2b # timeout=10
Commit message: "add xgboost example"
 > git rev-list --no-walk 6645ed406cb8f191064838dc877e4a28d4e3e9c4 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins13758519675208954468.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 454 items / 3 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 10%]
tests/unit/tf/test_public_api.py . [ 10%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 14%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 21%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 23%]
tests/unit/tf/blocks/core/test_base.py .. [ 23%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 25%]
tests/unit/tf/blocks/core/test_index.py ... [ 25%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 27%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 28%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 30%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 31%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 33%]
tests/unit/tf/examples/test_01_getting_started.py . [ 33%]
tests/unit/tf/examples/test_02_dataschema.py . [ 33%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 34%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 34%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 34%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 34%]
tests/unit/tf/inputs/test_continuous.py ..... [ 35%]
tests/unit/tf/inputs/test_embedding.py .............. [ 38%]
tests/unit/tf/inputs/test_tabular.py ....... [ 40%]
tests/unit/tf/layers/test_queue.py .............. [ 43%]
tests/unit/tf/losses/test_losses.py ....................... [ 48%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 49%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 53%]
tests/unit/tf/models/test_base.py ......... [ 55%]
tests/unit/tf/models/test_benchmark.py .. [ 56%]
tests/unit/tf/models/test_ranking.py ................ [ 59%]
tests/unit/tf/models/test_retrieval.py ............................. [ 66%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 66%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 68%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 72%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 77%]
tests/unit/tf/utils/test_batch.py .... [ 78%]
tests/unit/torch/test_dataset.py ......... [ 80%]
tests/unit/torch/test_public_api.py . [ 80%]
tests/unit/torch/block/test_base.py .... [ 81%]
tests/unit/torch/block/test_mlp.py . [ 81%]
tests/unit/torch/features/test_continuous.py .. [ 81%]
tests/unit/torch/features/test_embedding.py .............. [ 85%]
tests/unit/torch/features/test_tabular.py .... [ 85%]
tests/unit/torch/model/test_head.py ............ [ 88%]
tests/unit/torch/model/test_model.py .. [ 88%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 90%]
tests/unit/torch/tabular/test_tabular.py ... [ 91%]
tests/unit/torch/tabular/test_transformations.py ....... [ 92%]
tests/unit/utils/test_schema_utils.py ................................ [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_file4wnkx0eg.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:321: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
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 ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/xgb/init.py:19: could not import 'xgboost': No module named 'xgboost'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 447 passed, 10 skipped, 452 warnings in 1233.96s (0:20: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/jenkins3447124165833389802.sh

@github-actions
Copy link

Documentation preview

https://nvidia-merlin.github.io/models/review/pr-522

@bschifferer bschifferer linked an issue Jun 27, 2022 that may be closed by this pull request
@benfred benfred added documentation Improvements or additions to documentation examples and removed documentation Improvements or additions to documentation labels Jun 27, 2022
@radekosmulski radekosmulski marked this pull request as ready for review June 30, 2022 03:00
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit 27b8bfe47a5fbe68a917b75840961b197c2bc1aa, no merge conflicts.
Running as SYSTEM
Setting status of 27b8bfe47a5fbe68a917b75840961b197c2bc1aa to PENDING with url https://10.20.13.93:8080/job/merlin_models/535/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse 27b8bfe47a5fbe68a917b75840961b197c2bc1aa^{commit} # timeout=10
Checking out Revision 27b8bfe47a5fbe68a917b75840961b197c2bc1aa (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 27b8bfe47a5fbe68a917b75840961b197c2bc1aa # timeout=10
Commit message: "add edits"
 > git rev-list --no-walk b8aca8cca10eca7b49dc4567497894ff05df03af # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins10086752768738425287.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 462 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 10%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 14%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 23%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 25%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 30%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 30%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 33%]
tests/unit/tf/examples/test_02_dataschema.py . [ 33%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 33%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 33%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 34%]
tests/unit/tf/inputs/test_continuous.py ..... [ 35%]
tests/unit/tf/inputs/test_embedding.py .............. [ 38%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 54%]
tests/unit/tf/models/test_benchmark.py .. [ 55%]
tests/unit/tf/models/test_ranking.py ................ [ 58%]
tests/unit/tf/models/test_retrieval.py ............................. [ 64%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 65%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 66%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 71%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 71%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 75%]
tests/unit/tf/utils/test_batch.py .... [ 76%]
tests/unit/torch/test_dataset.py ......... [ 78%]
tests/unit/torch/test_public_api.py . [ 79%]
tests/unit/torch/block/test_base.py .... [ 79%]
tests/unit/torch/block/test_mlp.py . [ 80%]
tests/unit/torch/features/test_continuous.py .. [ 80%]
tests/unit/torch/features/test_embedding.py .............. [ 83%]
tests/unit/torch/features/test_tabular.py .... [ 84%]
tests/unit/torch/model/test_head.py ............ [ 87%]
tests/unit/torch/model/test_model.py .. [ 87%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 89%]
tests/unit/torch/tabular/test_tabular.py ... [ 89%]
tests/unit/torch/tabular/test_transformations.py ..F.... [ 91%]
tests/unit/utils/test_schema_utils.py ................................ [ 98%]
tests/unit/xgb/test_xgboost.py ........ [100%]

=================================== FAILURES ===================================
_______________________ test_stochastic_swap_noise[0.5] ________________________

replacement_prob = 0.5

@pytest.mark.parametrize("replacement_prob", [0.1, 0.3, 0.5, 0.7])
def test_stochastic_swap_noise(replacement_prob):
    NUM_SEQS = 100
    SEQ_LENGTH = 80
    PAD_TOKEN = 0

    # Creating some input sequences with padding in the end
    # (to emulate sessions with different lengths)
    seq_inputs = {
        "categ_seq_feat": torch.tril(
            torch.randint(low=1, high=100, size=(NUM_SEQS, SEQ_LENGTH)), 1
        ),
        "cont_seq_feat": torch.tril(torch.rand((NUM_SEQS, SEQ_LENGTH)), 1),
        "categ_non_seq_feat": torch.randint(low=1, high=100, size=(NUM_SEQS,)),
    }

    ssn = ml.StochasticSwapNoise(pad_token=PAD_TOKEN, replacement_prob=replacement_prob)
    out_features_ssn = ssn(seq_inputs, input_mask=seq_inputs["categ_seq_feat"] != PAD_TOKEN)

    for fname in seq_inputs:
        replaced_mask = out_features_ssn[fname] != seq_inputs[fname]
        replaced_mask_non_padded = torch.masked_select(
            replaced_mask, seq_inputs[fname] != PAD_TOKEN
        )
        replacement_rate = replaced_mask_non_padded.float().mean()
      assert replacement_rate == pytest.approx(replacement_prob, abs=0.15)

E assert tensor(0.3100) == 0.5 ± 1.5e-01
E comparison failed
E Obtained: 0.3100000023841858
E Expected: 0.5 ± 1.5e-01

tests/unit/torch/tabular/test_transformations.py:50: AssertionError
=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_files50bad0e.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:321: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:235: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
===== 1 failed, 454 passed, 9 skipped, 454 warnings in 1257.23s (0:20:57) ======
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/jenkins13818940977028484122.sh

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit e760ffbbd9e1f29bb8e2ca7c2ca5c60e541c5eaa, no merge conflicts.
Running as SYSTEM
Setting status of e760ffbbd9e1f29bb8e2ca7c2ca5c60e541c5eaa to PENDING with url https://10.20.13.93:8080/job/merlin_models/536/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse e760ffbbd9e1f29bb8e2ca7c2ca5c60e541c5eaa^{commit} # timeout=10
Checking out Revision e760ffbbd9e1f29bb8e2ca7c2ca5c60e541c5eaa (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f e760ffbbd9e1f29bb8e2ca7c2ca5c60e541c5eaa # timeout=10
Commit message: "edit 07"
 > git rev-list --no-walk 27b8bfe47a5fbe68a917b75840961b197c2bc1aa # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins4277570765245801549.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 473 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 53%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 63%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 69%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filewzf4eel8.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 466 passed, 9 skipped, 460 warnings in 1304.34s (0:21:44) ===========
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/jenkins365288072419711345.sh

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit 9ad09cc03a962a4a417f291aa096ce3c9fd2b8dc, no merge conflicts.
Running as SYSTEM
Setting status of 9ad09cc03a962a4a417f291aa096ce3c9fd2b8dc to PENDING with url https://10.20.13.93:8080/job/merlin_models/537/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse 9ad09cc03a962a4a417f291aa096ce3c9fd2b8dc^{commit} # timeout=10
Checking out Revision 9ad09cc03a962a4a417f291aa096ce3c9fd2b8dc (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 9ad09cc03a962a4a417f291aa096ce3c9fd2b8dc # timeout=10
Commit message: "Merge branch 'main' into xgboost_example"
 > git rev-list --no-walk e760ffbbd9e1f29bb8e2ca7c2ca5c60e541c5eaa # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins7260797542546902872.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 473 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 53%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 63%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 69%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filenjz9_mvv.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 466 passed, 9 skipped, 460 warnings in 1310.91s (0:21:50) ===========
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/jenkins10064469583720106203.sh

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit f05adb351f934ca858ff21a83bedfb8c132db110, no merge conflicts.
Running as SYSTEM
Setting status of f05adb351f934ca858ff21a83bedfb8c132db110 to PENDING with url https://10.20.13.93:8080/job/merlin_models/538/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse f05adb351f934ca858ff21a83bedfb8c132db110^{commit} # timeout=10
Checking out Revision f05adb351f934ca858ff21a83bedfb8c132db110 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f05adb351f934ca858ff21a83bedfb8c132db110 # timeout=10
Commit message: "add nb test"
 > git rev-list --no-walk 9ad09cc03a962a4a417f291aa096ce3c9fd2b8dc # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6586512712802776481.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 473 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 53%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 63%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 69%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_file00thhh3l.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 466 passed, 9 skipped, 460 warnings in 1300.83s (0:21:40) ===========
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/jenkins17859659529387429670.sh

@@ -0,0 +1,346 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is NVTabular dataset the preferred terminology to refer to: merlin.io.dataset.Dataset or Merlin Dataset?


Reply via ReviewNB

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a great point! To be honest, I think I have been imprecise here. Will change the wording to the one you suggested.

@@ -0,0 +1,346 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't look like we're passing this directly to the model. The schema passed in still has both target columns. However, the logic in the code currently picks the target column based on the objective. e.g. objective="binary:logistic" -> will look for targets in schema that are tagged with Tags.BINARY_CLASSIFICATION. And in this case rating has tags (Tags.REGRESSION, Tags.TARGET), and rating_binary has tags (Tags.BINARY_CLASSIFICATION, Tags.TARGET). So if the objective were switched from "binary:logistic" to "reg:logistic" then the target will be switched from rating_binary to rating.

OBJECTIVES = {

  "binary:logistic": Tags.BINARY_CLASSIFICATION,

  "reg:logistic": Tags.REGRESSION,

  "reg:squarederror": Tags.REGRESSION,

  "rank:pairwise": Tags.TARGET,

  "rank:ndcg": Tags.TARGET,

  "rank:map": Tags.TARGET,

}


Reply via ReviewNB

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alternatively, Targets can be explicitly specified with target_columns=[...] in the constructor of the XGBoost class

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this feels like too much magic. We could simplify the default (when no target columns are specfified) to rely only on the TARGET tag (e.g. all columns in schema with TARGET tag become the target for the model) and remove the extra complexity involving the objective and other tags.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is some amazing sleuthing there Oliver! 🙂 outstanding

I had an earlier version of the example where I was passing in target_columns and then I must have omitted it here and it still worked.

I really like how this automatic selection of the target column provides a glimpse into how the Merlin Models API works, and what value it can add, thus I am adding a bit of prose to explain how it actually works, based on what you shared above.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great Radek 🙂

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit c366601c98f08397088ddbcbf99de080b41ccb1c, no merge conflicts.
Running as SYSTEM
Setting status of c366601c98f08397088ddbcbf99de080b41ccb1c to PENDING with url https://10.20.13.93:8080/job/merlin_models/547/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse c366601c98f08397088ddbcbf99de080b41ccb1c^{commit} # timeout=10
Checking out Revision c366601c98f08397088ddbcbf99de080b41ccb1c (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f c366601c98f08397088ddbcbf99de080b41ccb1c # timeout=10
Commit message: "remove file"
 > git rev-list --no-walk 74f24d3e3bcd45ae4161973dcd546745bb216638 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins14799215251113267759.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 473 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 53%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 63%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 69%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_fileqms9flu3.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 466 passed, 9 skipped, 460 warnings in 1303.41s (0:21:43) ===========
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/jenkins18352329141558618097.sh

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit 90c539bb36f8ebb7838e95e356ffc12a74d4b9f9, no merge conflicts.
Running as SYSTEM
Setting status of 90c539bb36f8ebb7838e95e356ffc12a74d4b9f9 to PENDING with url https://10.20.13.93:8080/job/merlin_models/548/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse 90c539bb36f8ebb7838e95e356ffc12a74d4b9f9^{commit} # timeout=10
Checking out Revision 90c539bb36f8ebb7838e95e356ffc12a74d4b9f9 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 90c539bb36f8ebb7838e95e356ffc12a74d4b9f9 # timeout=10
Commit message: "implement comments from Oliver"
 > git rev-list --no-walk c366601c98f08397088ddbcbf99de080b41ccb1c # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6233721795598812828.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 473 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 53%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 63%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 69%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_fileuv9kmamn.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 466 passed, 9 skipped, 460 warnings in 1308.42s (0:21:48) ===========
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/jenkins9954316391835914552.sh

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high-level API: "high-level" is used as an adjective and should be hyphenated.

Instead of "currently", do you mind adding a time frame or a software version so that the sentence ages better? Maybe "For the Merlin Models v0.6.0 release, some xgboost and implicit models are supported."

nit: s/allows/enables/ -- I've been conditioned to avoid "allows" due to possible confusion related to granting permission.

"try out" can be "evaluate" if you want a $10 word. Up to you.


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My $0.02 is to remove the parens--they tend to diminish the importance of the words and what you have is no less important than the rest of the sentence.

I'd also break the second sentence into two:

"The dataset consists of userId and movieId pairings. For each record, a user rates a movie and the record includes additional information such as genre of the movie, age of the user, and so on."


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: My sugg is to use present tense nearly all the time: "The get_movielens function downloads the movielens-100k data for us and returns it materialized as a Merlin Dataset ."

Present tense is typically easier for the reader to understand and lends confidence and authority to your voice.


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Merlin Models API

Maybe "A key feature of the Merlin Models API is tagging."

s/can be/is/ and avoid parens again:

"You can tag your data once, during preprocessing, and this information is picked up during later steps such as additional preprocessing steps, training your model, serving the model, and so on."

I think I'd even use present tense in the last sentence--though clearly up to you:

"During preprocessing that is performed by the get_movielens function, two columns in the dataset are assigned the Tags.TARGET tag:"


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think there's anything grammatically wrong with "...to train with by passing..." but the two prepositions side-by-side caught my eye. I think you can remove "with" and not lose meaning. Up to you.

sugg: s/when constructing/when you construct/

Please add a colon after "the following:"

Maybe instead of "...do something else" it could be "...do something better" or "more powerful".

nit: avoid "xgboost" in plain text. Show it as inline code: xgboost when it seems valuable to suggest coding or XGBoost without any styling if you don't need to suggest coding. It similar to using "Merlin Models" in plain text.

sugg: s/we will be setting/we will set/. Future tense seems OK here. Also, "Given this piece of information, the Merlin Models code can infer that we want to train..."

sugg: s/would not be/is not/: "...it further, it is not useful for training."


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sugg: style as "...an xgboost model" or "...an XGBoost model"

sugg: s/that will predict/that predicts/

I find starting a sentence with inline code or a number awkward. My sugg is "For the rating_binary column, a value of 1 indicates..." I'd style the 0 as inline code too because it is like directed user input. (Conversely, it's not that all numbers are inline code. It's OK to say the dataset has 100K records.)


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

up to you: I wouldn't bother including the apostrophe in the inline code style.

Instead of "recently introduced," can you say something like "This class is introduced in the XGBoost 1.1 release and this data format provides..."

Instead of a link with "here" as the text, can you use "You can read more about it in this [article](...) from the RAPIDS AI channarticle

more present tense sugg: "...with early stopping, the training ceases as soon as the model starts overfitting..."

Maybe: "The verbose_eval parameter specifies..." Up to you.


Reply via ReviewNB

@@ -0,0 +1,374 @@
{
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"GPU RAM" is likely technically correct, but most of our docs refer to "GPU memory."


Reply via ReviewNB

@mikemckiernan
Copy link
Member

I learned lots from both you and Oliver. Thank you both.

If I can clarify anything in my comments, please let me know.

* add example notebook
* add integration test
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit ffb2dfa23c1d51388004e9f3379210ee08766897, no merge conflicts.
Running as SYSTEM
Setting status of ffb2dfa23c1d51388004e9f3379210ee08766897 to PENDING with url https://10.20.13.93:8080/job/merlin_models/554/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse ffb2dfa23c1d51388004e9f3379210ee08766897^{commit} # timeout=10
Checking out Revision ffb2dfa23c1d51388004e9f3379210ee08766897 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f ffb2dfa23c1d51388004e9f3379210ee08766897 # timeout=10
Commit message: "update"
 > git rev-list --no-walk 5cadf90a28caf6bbe8b9f78564716fa238b403d9 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins8749052371973519031.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 473 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 27%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 47%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 52%]
tests/unit/tf/models/test_base.py ......... [ 53%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 63%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 69%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filecjzp2py8.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/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 466 passed, 9 skipped, 460 warnings in 1316.77s (0:21:56) ===========
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/jenkins4995459392783024144.sh

@radekosmulski
Copy link
Contributor Author

Thank you very much for your review @mikemckiernan, really appreciate it! 🙂 Learning a lot from you as well! I really appreciate all the explanations you included behind the changes you suggested, learned a lot from them. Thank you very much!!! I implemented all of your suggestions.

And thank you both @oliverholworthy and @mikemckiernan for such a timely help on this one! 🙂 @bschifferer asked me to see if I can merge this before the end of the week and seems like I might be able to do so thx to your help!

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #522 of commit 01527fb9f4a21c95cbc4b33465fd83f61a5f1ea6, no merge conflicts.
Running as SYSTEM
Setting status of 01527fb9f4a21c95cbc4b33465fd83f61a5f1ea6 to PENDING with url https://10.20.13.93:8080/job/merlin_models/555/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/522/*:refs/remotes/origin/pr/522/* # timeout=10
 > git rev-parse 01527fb9f4a21c95cbc4b33465fd83f61a5f1ea6^{commit} # timeout=10
Checking out Revision 01527fb9f4a21c95cbc4b33465fd83f61a5f1ea6 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 01527fb9f4a21c95cbc4b33465fd83f61a5f1ea6 # timeout=10
Commit message: "Add xgboost example"
 > git rev-list --no-walk ffb2dfa23c1d51388004e9f3379210ee08766897 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins5001041357408556881.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /var/jenkins_home/.local/lib/python3.8/site-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /var/jenkins_home/.local/lib/python3.8/site-packages (from testbook) (0.5.13)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.6.0)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.10.0)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.15.3)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (21.4.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.8.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.0)
Requirement already satisfied: tornado>=6.0 in /var/jenkins_home/.local/lib/python3.8/site-packages/tornado-6.1-py3.8-linux-x86_64.egg (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.1)
Requirement already satisfied: zipp>=3.1.0; python_version < "3.10" in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0; python_version < "3.9"->jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.0)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 475 items / 2 skipped

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 1%]
tests/unit/datasets/test_ecommerce.py ..sss [ 2%]
tests/unit/datasets/test_entertainment.py ....sss. [ 4%]
tests/unit/datasets/test_social.py . [ 4%]
tests/unit/datasets/test_synthetic.py ..... [ 5%]
tests/unit/tf/test_core.py ...... [ 6%]
tests/unit/tf/test_dataset.py ............... [ 9%]
tests/unit/tf/test_public_api.py . [ 9%]
tests/unit/tf/blocks/test_cross.py ........... [ 12%]
tests/unit/tf/blocks/test_dlrm.py ........ [ 13%]
tests/unit/tf/blocks/test_interactions.py . [ 14%]
tests/unit/tf/blocks/test_mlp.py ............................. [ 20%]
tests/unit/tf/blocks/core/test_aggregation.py ......... [ 22%]
tests/unit/tf/blocks/core/test_base.py .. [ 22%]
tests/unit/tf/blocks/core/test_combinators.py ....... [ 24%]
tests/unit/tf/blocks/core/test_index.py ... [ 24%]
tests/unit/tf/blocks/core/test_masking.py ....... [ 26%]
tests/unit/tf/blocks/core/test_tabular.py .... [ 26%]
tests/unit/tf/blocks/core/test_transformations.py ........... [ 29%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 29%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 32%]
tests/unit/tf/examples/test_01_getting_started.py . [ 32%]
tests/unit/tf/examples/test_02_dataschema.py . [ 32%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 32%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 32%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 33%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 33%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 33%]
tests/unit/tf/inputs/test_continuous.py ..... [ 34%]
tests/unit/tf/inputs/test_embedding.py ............... [ 37%]
tests/unit/tf/inputs/test_tabular.py ....... [ 39%]
tests/unit/tf/layers/test_queue.py .............. [ 42%]
tests/unit/tf/losses/test_losses.py ....................... [ 46%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 48%]
tests/unit/tf/metrics/test_metrics_topk.py .................. [ 51%]
tests/unit/tf/models/test_base.py ........... [ 54%]
tests/unit/tf/models/test_benchmark.py .. [ 54%]
tests/unit/tf/models/test_ranking.py ................ [ 57%]
tests/unit/tf/models/test_retrieval.py ............................. [ 64%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 64%]
tests/unit/tf/prediction_tasks/test_multi_task.py ....... [ 65%]
tests/unit/tf/prediction_tasks/test_next_item.py .................... [ 70%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 70%]
tests/unit/tf/prediction_tasks/test_sampling.py .................... [ 74%]
tests/unit/tf/utils/test_batch.py .... [ 75%]
tests/unit/torch/test_dataset.py ......... [ 77%]
tests/unit/torch/test_public_api.py . [ 77%]
tests/unit/torch/block/test_base.py .... [ 78%]
tests/unit/torch/block/test_mlp.py . [ 78%]
tests/unit/torch/features/test_continuous.py .. [ 79%]
tests/unit/torch/features/test_embedding.py .............. [ 82%]
tests/unit/torch/features/test_tabular.py .... [ 82%]
tests/unit/torch/model/test_head.py ............ [ 85%]
tests/unit/torch/model/test_model.py .. [ 85%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 87%]
tests/unit/torch/tabular/test_tabular.py ... [ 88%]
tests/unit/torch/tabular/test_transformations.py ....... [ 89%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py ................. [100%]

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: 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/utils/image_utils.py:36
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:36: 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/utils/image_utils.py:37
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:37: 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/utils/image_utils.py:38
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:38: 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/utils/image_utils.py:39
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:39: DeprecationWarning: HAMMING is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.HAMMING instead.
'hamming': pil_image.HAMMING,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:40: DeprecationWarning: BOX is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.BOX instead.
'box': pil_image.BOX,

../../../../../usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41
/usr/local/lib/python3.8/dist-packages/keras/utils/image_utils.py:41: DeprecationWarning: LANCZOS is deprecated and will be removed in Pillow 10 (2023-07-01). Use Resampling.LANCZOS instead.
'lanczos': pil_image.LANCZOS,

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filetj64gbft.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/unit/tf/blocks/core/test_transformations.py: 4 warnings
tests/unit/tf/models/test_base.py: 6 warnings
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/blocks/retrieval/test_two_tower.py::test_matrix_factorization_embedding_export
tests/unit/tf/inputs/test_embedding.py::test_embedding_features_exporting_and_loading_pretrained_initializer
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/inputs/embedding.py:326: DeprecationWarning: This function is deprecated in favor of cupy.from_dlpack
embeddings_cupy = cupy.fromDlpack(to_dlpack(tf.convert_to_tensor(embeddings)))

tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[True]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
tests/unit/tf/models/test_ranking.py::test_dlrm_model_multi_task[False]
/var/jenkins_home/.local/lib/python3.8/site-packages/numpy/core/numeric.py:2453: DeprecationWarning: elementwise comparison failed; this will raise an error in the future.
return bool(asarray(a1 == a2).all())

tests/unit/torch/block/test_mlp.py::test_mlp_block
/var/jenkins_home/workspace/merlin_models/models/tests/unit/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:210.)
return {key: torch.tensor(value) for key, value in data.items()}

tests/unit/xgb/test_xgboost.py::test_without_dask_client
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_music_regression
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs0-DaskDeviceQuantileDMatrix]
tests/unit/xgb/test_xgboost.py::test_gpu_hist_dmatrix[fit_kwargs1-DaskDMatrix]
tests/unit/xgb/test_xgboost.py::TestEvals::test_multiple
tests/unit/xgb/test_xgboost.py::TestEvals::test_default
tests/unit/xgb/test_xgboost.py::TestEvals::test_train_and_valid
tests/unit/xgb/test_xgboost.py::TestEvals::test_invalid_data
/var/jenkins_home/workspace/merlin_models/models/merlin/models/xgb/init.py:266: UserWarning: Ignoring list columns as inputs to XGBoost model: ['item_genres', 'user_genres'].
warnings.warn(f"Ignoring list columns as inputs to XGBoost model: {list_column_names}.")

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/implicit/init.py:18: could not import 'implicit': No module named 'implicit'
SKIPPED [1] tests/unit/lightfm/init.py:18: could not import 'lightfm': No module named 'lightfm'
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
========== 468 passed, 9 skipped, 466 warnings in 1389.22s (0:23:09) ===========
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/jenkins8637676368844572464.sh

@radekosmulski radekosmulski merged commit 0f1b71e into main Jun 30, 2022
@radekosmulski radekosmulski deleted the xgboost_example branch June 30, 2022 23:14
mengyao00 pushed a commit that referenced this pull request Jul 15, 2022
* add example notebook
* add integration test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task] Adding example for XGBoost XGBoost Integration
5 participants