Update In Batch Negative Sampling Augmentation Layer for primary use with dataloader
Related to #596 and #626
Goals :soccer:
- Improve speed of in-batch negative sampling when used as part of the dataloader
- Simplify use of in-batch negative sampling when used as part of the dataloader
Implementation Details :construction:
- Adding the
tf.functiondecorator to thecallmethod of the in-batch negative sampling data augmentation layer. - Change default value of
return_tupleso that this isn't required when used withBatchedDataset.map
Testing Details :mag:
slightly faster when wrapped with a tf.function. though not much practical difference unless used with very with large datasets.
import pyarrow as pa
from merlin.models.tf.data_augmentation.negative_sampling import UniformNegativeSampling
from merlin.models.tf.dataset import BatchedDataset
from merlin.datasets.synthetic import generate_data
from toolz import last
from merlin.io import Dataset
import tensorflow as tf
train, valid = generate_data("movielens-100k", num_rows=int(5e5), set_sizes=(0.8, 0.2))
schema = train.schema
schema = schema.without(["rating"])
# keep only positives
train_df = train.to_ddf().compute()
train = Dataset(train_df[train_df["rating_binary"] == 1])
train.schema = schema
sampling = UniformNegativeSampling(schema, 5, seed=42, return_tuple=True)
tf_sampling = tf.function(sampling)
%timeit -n 20 last(BatchedDataset(train, batch_size=100).map(sampling))
# => 71.5 ms ┬ 1.69 ms per loop (mean ┬ std. dev. of 7 runs, 20 loops each)
%timeit -n 20 last(BatchedDataset(train, batch_size=100).map(tf_sampling))
# => 41.3 ms ┬ 1.09 ms per loop (mean ┬ std. dev. of 7 runs, 20 loops each)
Click to view CI Results
GitHub pull request #685 of commit 40125d059f90dba753675bbaaeb3507c4f46199e, no merge conflicts.
Running as SYSTEM
Setting status of 40125d059f90dba753675bbaaeb3507c4f46199e to PENDING with url https://10.20.13.93:8080/job/merlin_models/1054/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse 40125d059f90dba753675bbaaeb3507c4f46199e^{commit} # timeout=10
Checking out Revision 40125d059f90dba753675bbaaeb3507c4f46199e (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f 40125d059f90dba753675bbaaeb3507c4f46199e # timeout=10
Commit message: "Set return_tuple default value to True in in batch negative sampling"
> git rev-list --no-walk 7ddffc41ef74a9710588e26c259affc199cf66fd # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6157573873184936909.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 671 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ..... [ 3%]
tests/unit/implicit/test_implicit.py . [ 3%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 4%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 24%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 25%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 26%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_index.py ... [ 31%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 32%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
.................. [ 39%]
tests/unit/tf/data_augmentation/test_misc.py . [ 39%]
tests/unit/tf/data_augmentation/test_negative_sampling.py F..FF..FF. [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 41%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 42%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 42%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 42%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 43%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 48%]
.. [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 60%]
tests/unit/tf/models/test_base.py s................. [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 63%]
tests/unit/tf/models/test_ranking.py ........................ [ 67%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 74%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 77%]
tests/unit/tf/predictions/test_classification.py ....... [ 78%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 80%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 83%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 84%]
tests/unit/torch/features/test_embedding.py .............. [ 86%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=================================== FAILURES ===================================
________________ TestAddRandomNegativesToBatch.test_dataloader _________________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7ff3c02420d0>
def test_dataloader(self):
schema = Schema(
[
ColumnSchema(
"item_id", tags=[Tags.ITEM, Tags.ITEM_ID, Tags.CATEGORICAL], dtype="int64"
),
ColumnSchema("item_feature", tags=[Tags.ITEM, Tags.CATEGORICAL]),
ColumnSchema(
"user_id", tags=[Tags.USER, Tags.USER_ID, Tags.CATEGORICAL], dtype="int64"
),
ColumnSchema("user_feature", tags=[Tags.USER, Tags.CATEGORICAL]),
ColumnSchema("label", tags=[Tags.TARGET]),
]
)
n_per_positive = 5
sampler = UniformNegativeSampling(schema, n_per_positive)
input_df = pd.DataFrame(
[
{"user_id": 1, "item_id": 1, "item_feature": 2, "user_feature": 10, "label": 1},
{"user_id": 2, "item_id": 3, "item_feature": 6, "user_feature": 5, "label": 1},
]
)
input_df = input_df[sorted(input_df.columns)]
dataset = Dataset(input_df, schema=schema)
batched_dataset = BatchedDataset(dataset, batch_size=10)
batched_dataset = batched_dataset.map(sampler)
first_batch_outputs = next(iter(batched_dataset))
outputs = first_batch_outputs.outputs
E AttributeError: 'tuple' object has no attribute 'outputs'
tests/unit/tf/data_augmentation/test_negative_sampling.py:75: AttributeError
_______________ TestAddRandomNegativesToBatch.test_calling[True] _______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7ff3c02426d0>
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7ff33c609dc0>
to_dense = True, tf_random_seed = 1
@pytest.mark.parametrize("to_dense", [True, False])
def test_calling(self, music_streaming_data: Dataset, to_dense: bool, tf_random_seed: int):
schema = music_streaming_data.schema
batch_size, n_per_positive = 10, 5
inputs, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, include_targets=True, to_dense=to_dense
)
sampler = UniformNegativeSampling(schema, 5, seed=tf_random_seed)
with_negatives = sampler(inputs, targets=targets)
outputs = with_negatives.outputs
E AttributeError: 'tuple' object has no attribute 'outputs'
tests/unit/tf/data_augmentation/test_negative_sampling.py:137: AttributeError
______________ TestAddRandomNegativesToBatch.test_calling[False] _______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7ff3c0242760>
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7ff3356d5c40>
to_dense = False, tf_random_seed = 1
@pytest.mark.parametrize("to_dense", [True, False])
def test_calling(self, music_streaming_data: Dataset, to_dense: bool, tf_random_seed: int):
schema = music_streaming_data.schema
batch_size, n_per_positive = 10, 5
inputs, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, include_targets=True, to_dense=to_dense
)
sampler = UniformNegativeSampling(schema, 5, seed=tf_random_seed)
with_negatives = sampler(inputs, targets=targets)
outputs = with_negatives.outputs
E AttributeError: 'tuple' object has no attribute 'outputs'
tests/unit/tf/data_augmentation/test_negative_sampling.py:137: AttributeError
----------------------------- Captured stderr call -----------------------------
WARNING:tensorflow:5 out of the last 5 calls to <function UniformNegativeSampling.call at 0x7ff33f010160> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.
------------------------------ Captured log call -------------------------------
WARNING tensorflow:def_function.py:148 5 out of the last 5 calls to <function UniformNegativeSampling.call at 0x7ff33f010160> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.
______________ TestAddRandomNegativesToBatch.test_in_model[True] _______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7ff3c0242970>
run_eagerly = True
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7ff33f850d00>
tf_random_seed = 1
@pytest.mark.parametrize("run_eagerly", [True, False])
def test_in_model(self, run_eagerly, music_streaming_data: Dataset, tf_random_seed: int):
dataset = music_streaming_data
schema = dataset.schema
sampling = mm.Cond(
ExampleIsTraining(),
UniformNegativeSampling(schema, 5, seed=tf_random_seed),
ExamplePredictionIdentity(),
)
model = mm.Model(
mm.InputBlock(schema),
sampling,
mm.MLPBlock([64]),
mm.BinaryClassificationTask("click"),
)
batch_size = 10
features, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, to_dense=True
)
with_negatives = model(features, targets=targets, training=True)
tests/unit/tf/data_augmentation/test_negative_sampling.py:200:
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/training.py:490: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/models/base.py:920: in call
outputs, context = self._call_child(block, outputs, context)
merlin/models/tf/models/base.py:949: in _call_child
outputs = call_layer(child, inputs, **call_kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
merlin/models/config/schema.py:58: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/core/combinators.py:283: in call
outputs = call_layer(layer, outputs, training=training, **kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:146: in error_handler
raise new_e.with_traceback(e.traceback) from None
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/blocks/mlp.py:225: in call
return self.dense(inputs, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:988: in call
input_spec.assert_input_compatibility(self.input_spec, inputs, self.name)
input_spec = [InputSpec(min_ndim=2)]
inputs = [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
... [76.],
[76.],
[77.],
[77.],
[77.],
[77.],
[77.]], dtype=float32)>, ...]
layer_name = 'dense'
def assert_input_compatibility(input_spec, inputs, layer_name):
"""Checks compatibility between the layer and provided inputs.
This checks that the tensor(s) `inputs` verify the input assumptions
of a layer (if any). If not, a clear and actional exception gets raised.
Args:
input_spec: An InputSpec instance, list of InputSpec instances, a nested
structure of InputSpec instances, or None.
inputs: Input tensor, list of input tensors, or a nested structure of
input tensors.
layer_name: String, name of the layer (for error message formatting).
Raises:
ValueError: in case of mismatch between
the provided inputs and the expectations of the layer.
"""
if not input_spec:
return
input_spec = tf.nest.flatten(input_spec)
if isinstance(inputs, dict):
# Flatten `inputs` by reference order if input spec names are provided
names = [spec.name for spec in input_spec]
if all(names):
list_inputs = []
for name in names:
if name not in inputs:
raise ValueError(f'Missing data for input "{name}". '
'You passed a data dictionary with keys '
f'{list(inputs.keys())}. '
f'Expected the following keys: {names}')
list_inputs.append(inputs[name])
inputs = list_inputs
inputs = tf.nest.flatten(inputs)
for x in inputs:
# Having a shape/dtype is the only commonality of the various tensor-like
# objects that may be passed. The most common kind of invalid type we are
# guarding for is a Layer instance (Functional API), which does not
# have a `shape` attribute.
if not hasattr(x, 'shape'):
raise TypeError(f'Inputs to a layer should be tensors. Got: {x}')
if len(inputs) != len(input_spec):
raise ValueError(f'Layer "{layer_name}" expects {len(input_spec)} input(s),'
f' but it received {len(inputs)} input tensors. '
f'Inputs received: {inputs}')
E ValueError: Exception encountered when calling layer "private__dense" (type _Dense).
E
E Layer "dense" expects 1 input(s), but it received 13 input tensors. Inputs received: [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
E 0.03482969, 0.07279999],
E [-0.08623078, 0.09075823, 0.09004455, ..., 0.04702003,
E -0.0338754 , 0.01674279],
E [-0.05367033, -0.03708271, 0.09750845, ..., 0.01826058,
E -0.01067774, 0.00353228],
E ...,
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E [-0.05982495, 0.00941494, -0.0170866 , ..., 0.04046999,
E -0.03917206, 0.02214545],
E [-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E ...,
E [-0.09613073, 0.00574432, -0.06272529, ..., -0.07596413,
E -0.05235805, -0.07114938],
E [ 0.03497816, 0.00258678, -0.02060063, ..., 0.01023176,
E 0.05178693, 0.03078843],
E [ 0.05752415, 0.015951 , 0.03335749, ..., 0.01102087,
E 0.06480642, -0.01859571]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00077411, -0.04272131, 0.01362878, ..., -0.03421735,
E -0.05499429, 0.07281819],
E [-0.04494919, 0.00994679, -0.01409337, ..., 0.03038313,
E -0.04779383, 0.02539765],
E [-0.03843401, -0.04797446, -0.04346054, ..., -0.02784302,
E 0.07427114, -0.06158229],
E ...,
E [ 0.08430401, -0.01791586, -0.01037587, ..., -0.01420283,
E -0.06870842, 0.00973347],
E [ 0.04738706, 0.00152453, -0.05083135, ..., -0.00338309,
E 0.00188581, -0.05811936],
E [-0.0038055 , -0.01493907, 0.02549406, ..., 0.02831712,
E -0.02204459, -0.07184417]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00144552, 0.08053493, -0.05433185, ..., -0.04803555,
E 0.00784254, 0.00134 ],
E [-0.00780611, -0.02837084, -0.02829281, ..., 0.04710324,
E -0.00875665, 0.00205226],
E [ 0.07223409, -0.05060465, 0.0073901 , ..., 0.04512937,
E -0.04797626, -0.01801917],
E ...,
E [ 0.03935708, 0.02653011, 0.00449451, ..., -0.04035959,
E -0.06153113, 0.06843522],
E [-0.04556208, -0.03516526, -0.01127513, ..., 0.06403926,
E -0.03676584, -0.0140518 ],
E [ 0.03712238, 0.01801471, -0.06914667, ..., -0.0608288 ,
E -0.01426386, -0.01721318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.8301565 ],
E [0.24009515],
E [0.63162076],
E [0.71073955],
E [0.7423834 ],
E [0.3902647 ],
E [0.7598254 ],
E [0.9029359 ],
E [0.58742005],
E [0.09040972],
E [0.58742005],
E [0.9029359 ],
E [0.63162076],
E [0.24009515],
E [0.63162076],
E [0.7598254 ],
E [0.3902647 ],
E [0.9029359 ],
E [0.63162076],
E [0.9029359 ],
E [0.09040972],
E [0.7598254 ],
E [0.3902647 ],
E [0.09040972],
E [0.58742005],
E [0.58742005],
E [0.3902647 ],
E [0.7423834 ],
E [0.3902647 ],
E [0.71073955],
E [0.63162076],
E [0.8301565 ],
E [0.7598254 ],
E [0.58742005],
E [0.09040972],
E [0.8301565 ],
E [0.24009515],
E [0.8301565 ],
E [0.8301565 ],
E [0.3902647 ],
E [0.3902647 ],
E [0.8301565 ],
E [0.7423834 ],
E [0.09040972],
E [0.8301565 ],
E [0.3902647 ],
E [0.58742005],
E [0.9029359 ],
E [0.3902647 ],
E [0.7423834 ],
E [0.24009515],
E [0.58742005],
E [0.58742005],
E [0.58742005],
E [0.7598254 ],
E [0.3902647 ]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[98.],
E [ 1.],
E [66.],
E [49.],
E [70.],
E [32.],
E [66.],
E [ 1.],
E [76.],
E [77.],
E [98.],
E [98.],
E [98.],
E [98.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [66.],
E [66.],
E [66.],
E [66.],
E [66.],
E [49.],
E [49.],
E [49.],
E [49.],
E [70.],
E [70.],
E [70.],
E [70.],
E [70.],
E [32.],
E [32.],
E [32.],
E [32.],
E [32.],
E [66.],
E [66.],
E [66.],
E [66.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [76.],
E [76.],
E [76.],
E [76.],
E [77.],
E [77.],
E [77.],
E [77.],
E [77.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.03531459, 0.01980046, 0.01169731, ..., 0.04916441,
E -0.01930056, 0.01097006],
E [ 0.06857657, 0.08909895, -0.01473977, ..., -0.07292735,
E -0.0733112 , 0.05403838],
E [-0.0452647 , -0.0059931 , 0.07863013, ..., 0.00763688,
E -0.03596961, 0.02165018],
E ...,
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[ 3.],
E [14.],
E [ 6.],
E [ 7.],
E [ 1.],
E [ 5.],
E [ 9.],
E [ 2.],
E [ 3.],
E [ 4.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [14.],
E [14.],
E [14.],
E [14.],
E [14.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.07212272, -0.01157783, 0.07209906, ..., 0.03590322,
E -0.011289 , -0.0756909 ],
E [-0.04057395, 0.05453134, 0.03549607, ..., 0.03770151,
E -0.03485281, -0.03873537],
E [ 0.03554836, 0.01588674, -0.07569668, ..., 0.07916976,
E -0.02698494, -0.07710274],
E ...,
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.00450242, 0.03289668, -0.07712229, ..., -0.07252846,
E 0.00708481, -0.05114901],
E [ 0.06754325, 0.00106715, -0.02400186, ..., 0.06388736,
E -0.0527336 , -0.05356371],
E [ 0.01282731, -0.05452716, -0.0341559 , ..., -0.0573374 ,
E -0.02303316, -0.03417253],
E ...,
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.],
E [1.],
E [1.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[1.],
E [0.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.5582866 ],
E [0.39492014],
E [0.5065822 ],
E [0.19596702],
E [0.1567516 ],
E [0.754517 ],
E [0.32997322],
E [0.6441957 ],
E [0.5654556 ],
E [0.8995309 ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ]], dtype=float32)>]
E
E Call arguments received by layer "private__dense" (type _Dense):
E • inputs=({'item_recency': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'user_age': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'position': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'item_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'session_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_category': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'country': 'tf.Tensor(shape=(56, 64), dtype=float32)'}, {'click': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'like': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'play_percentage': 'tf.Tensor(shape=(56, 1), dtype=float32)'})
E • kwargs={'training': 'True', 'features': {'item_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'user_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'session_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_category': 'tf.Tensor(shape=(10,), dtype=int64)', 'user_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'country': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_recency': 'tf.Tensor(shape=(10,), dtype=float32)', 'user_age': 'tf.Tensor(shape=(10,), dtype=float32)', 'position': 'tf.Tensor(shape=(10,), dtype=float32)'}, 'testing': 'False', 'mask': ('None',), 'targets': {'click': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'like': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'play_percentage': 'tf.Tensor(shape=(10, 1), dtype=float64)'}}
/usr/local/lib/python3.8/dist-packages/keras/engine/input_spec.py:200: ValueError
______________ TestAddRandomNegativesToBatch.test_in_model[False] ______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7ff3c0242a00>
run_eagerly = False
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7ff335783ca0>
tf_random_seed = 1
@pytest.mark.parametrize("run_eagerly", [True, False])
def test_in_model(self, run_eagerly, music_streaming_data: Dataset, tf_random_seed: int):
dataset = music_streaming_data
schema = dataset.schema
sampling = mm.Cond(
ExampleIsTraining(),
UniformNegativeSampling(schema, 5, seed=tf_random_seed),
ExamplePredictionIdentity(),
)
model = mm.Model(
mm.InputBlock(schema),
sampling,
mm.MLPBlock([64]),
mm.BinaryClassificationTask("click"),
)
batch_size = 10
features, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, to_dense=True
)
with_negatives = model(features, targets=targets, training=True)
tests/unit/tf/data_augmentation/test_negative_sampling.py:200:
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/training.py:490: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/models/base.py:920: in call
outputs, context = self._call_child(block, outputs, context)
merlin/models/tf/models/base.py:949: in _call_child
outputs = call_layer(child, inputs, **call_kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
merlin/models/config/schema.py:58: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/core/combinators.py:283: in call
outputs = call_layer(layer, outputs, training=training, **kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:146: in error_handler
raise new_e.with_traceback(e.traceback) from None
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/blocks/mlp.py:225: in call
return self.dense(inputs, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:988: in call
input_spec.assert_input_compatibility(self.input_spec, inputs, self.name)
input_spec = [InputSpec(min_ndim=2)]
inputs = [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
... [76.],
[76.],
[77.],
[77.],
[77.],
[77.],
[77.]], dtype=float32)>, ...]
layer_name = 'dense'
def assert_input_compatibility(input_spec, inputs, layer_name):
"""Checks compatibility between the layer and provided inputs.
This checks that the tensor(s) `inputs` verify the input assumptions
of a layer (if any). If not, a clear and actional exception gets raised.
Args:
input_spec: An InputSpec instance, list of InputSpec instances, a nested
structure of InputSpec instances, or None.
inputs: Input tensor, list of input tensors, or a nested structure of
input tensors.
layer_name: String, name of the layer (for error message formatting).
Raises:
ValueError: in case of mismatch between
the provided inputs and the expectations of the layer.
"""
if not input_spec:
return
input_spec = tf.nest.flatten(input_spec)
if isinstance(inputs, dict):
# Flatten `inputs` by reference order if input spec names are provided
names = [spec.name for spec in input_spec]
if all(names):
list_inputs = []
for name in names:
if name not in inputs:
raise ValueError(f'Missing data for input "{name}". '
'You passed a data dictionary with keys '
f'{list(inputs.keys())}. '
f'Expected the following keys: {names}')
list_inputs.append(inputs[name])
inputs = list_inputs
inputs = tf.nest.flatten(inputs)
for x in inputs:
# Having a shape/dtype is the only commonality of the various tensor-like
# objects that may be passed. The most common kind of invalid type we are
# guarding for is a Layer instance (Functional API), which does not
# have a `shape` attribute.
if not hasattr(x, 'shape'):
raise TypeError(f'Inputs to a layer should be tensors. Got: {x}')
if len(inputs) != len(input_spec):
raise ValueError(f'Layer "{layer_name}" expects {len(input_spec)} input(s),'
f' but it received {len(inputs)} input tensors. '
f'Inputs received: {inputs}')
E ValueError: Exception encountered when calling layer "private__dense" (type _Dense).
E
E Layer "dense" expects 1 input(s), but it received 13 input tensors. Inputs received: [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
E 0.03482969, 0.07279999],
E [-0.08623078, 0.09075823, 0.09004455, ..., 0.04702003,
E -0.0338754 , 0.01674279],
E [-0.05367033, -0.03708271, 0.09750845, ..., 0.01826058,
E -0.01067774, 0.00353228],
E ...,
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E [-0.05982495, 0.00941494, -0.0170866 , ..., 0.04046999,
E -0.03917206, 0.02214545],
E [-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E ...,
E [-0.09613073, 0.00574432, -0.06272529, ..., -0.07596413,
E -0.05235805, -0.07114938],
E [ 0.03497816, 0.00258678, -0.02060063, ..., 0.01023176,
E 0.05178693, 0.03078843],
E [ 0.05752415, 0.015951 , 0.03335749, ..., 0.01102087,
E 0.06480642, -0.01859571]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00077411, -0.04272131, 0.01362878, ..., -0.03421735,
E -0.05499429, 0.07281819],
E [-0.04494919, 0.00994679, -0.01409337, ..., 0.03038313,
E -0.04779383, 0.02539765],
E [-0.03843401, -0.04797446, -0.04346054, ..., -0.02784302,
E 0.07427114, -0.06158229],
E ...,
E [ 0.08430401, -0.01791586, -0.01037587, ..., -0.01420283,
E -0.06870842, 0.00973347],
E [ 0.04738706, 0.00152453, -0.05083135, ..., -0.00338309,
E 0.00188581, -0.05811936],
E [-0.0038055 , -0.01493907, 0.02549406, ..., 0.02831712,
E -0.02204459, -0.07184417]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00144552, 0.08053493, -0.05433185, ..., -0.04803555,
E 0.00784254, 0.00134 ],
E [-0.00780611, -0.02837084, -0.02829281, ..., 0.04710324,
E -0.00875665, 0.00205226],
E [ 0.07223409, -0.05060465, 0.0073901 , ..., 0.04512937,
E -0.04797626, -0.01801917],
E ...,
E [ 0.03935708, 0.02653011, 0.00449451, ..., -0.04035959,
E -0.06153113, 0.06843522],
E [-0.04556208, -0.03516526, -0.01127513, ..., 0.06403926,
E -0.03676584, -0.0140518 ],
E [ 0.03712238, 0.01801471, -0.06914667, ..., -0.0608288 ,
E -0.01426386, -0.01721318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.8301565 ],
E [0.24009515],
E [0.63162076],
E [0.71073955],
E [0.7423834 ],
E [0.3902647 ],
E [0.7598254 ],
E [0.9029359 ],
E [0.58742005],
E [0.09040972],
E [0.58742005],
E [0.9029359 ],
E [0.63162076],
E [0.24009515],
E [0.63162076],
E [0.7598254 ],
E [0.3902647 ],
E [0.9029359 ],
E [0.63162076],
E [0.9029359 ],
E [0.09040972],
E [0.7598254 ],
E [0.3902647 ],
E [0.09040972],
E [0.58742005],
E [0.58742005],
E [0.3902647 ],
E [0.7423834 ],
E [0.3902647 ],
E [0.71073955],
E [0.63162076],
E [0.8301565 ],
E [0.7598254 ],
E [0.58742005],
E [0.09040972],
E [0.8301565 ],
E [0.24009515],
E [0.8301565 ],
E [0.8301565 ],
E [0.3902647 ],
E [0.3902647 ],
E [0.8301565 ],
E [0.7423834 ],
E [0.09040972],
E [0.8301565 ],
E [0.3902647 ],
E [0.58742005],
E [0.9029359 ],
E [0.3902647 ],
E [0.7423834 ],
E [0.24009515],
E [0.58742005],
E [0.58742005],
E [0.58742005],
E [0.7598254 ],
E [0.3902647 ]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[98.],
E [ 1.],
E [66.],
E [49.],
E [70.],
E [32.],
E [66.],
E [ 1.],
E [76.],
E [77.],
E [98.],
E [98.],
E [98.],
E [98.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [66.],
E [66.],
E [66.],
E [66.],
E [66.],
E [49.],
E [49.],
E [49.],
E [49.],
E [70.],
E [70.],
E [70.],
E [70.],
E [70.],
E [32.],
E [32.],
E [32.],
E [32.],
E [32.],
E [66.],
E [66.],
E [66.],
E [66.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [76.],
E [76.],
E [76.],
E [76.],
E [77.],
E [77.],
E [77.],
E [77.],
E [77.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.03531459, 0.01980046, 0.01169731, ..., 0.04916441,
E -0.01930056, 0.01097006],
E [ 0.06857657, 0.08909895, -0.01473977, ..., -0.07292735,
E -0.0733112 , 0.05403838],
E [-0.0452647 , -0.0059931 , 0.07863013, ..., 0.00763688,
E -0.03596961, 0.02165018],
E ...,
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[ 3.],
E [14.],
E [ 6.],
E [ 7.],
E [ 1.],
E [ 5.],
E [ 9.],
E [ 2.],
E [ 3.],
E [ 4.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [14.],
E [14.],
E [14.],
E [14.],
E [14.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.07212272, -0.01157783, 0.07209906, ..., 0.03590322,
E -0.011289 , -0.0756909 ],
E [-0.04057395, 0.05453134, 0.03549607, ..., 0.03770151,
E -0.03485281, -0.03873537],
E [ 0.03554836, 0.01588674, -0.07569668, ..., 0.07916976,
E -0.02698494, -0.07710274],
E ...,
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.00450242, 0.03289668, -0.07712229, ..., -0.07252846,
E 0.00708481, -0.05114901],
E [ 0.06754325, 0.00106715, -0.02400186, ..., 0.06388736,
E -0.0527336 , -0.05356371],
E [ 0.01282731, -0.05452716, -0.0341559 , ..., -0.0573374 ,
E -0.02303316, -0.03417253],
E ...,
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.],
E [1.],
E [1.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[1.],
E [0.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.5582866 ],
E [0.39492014],
E [0.5065822 ],
E [0.19596702],
E [0.1567516 ],
E [0.754517 ],
E [0.32997322],
E [0.6441957 ],
E [0.5654556 ],
E [0.8995309 ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ]], dtype=float32)>]
E
E Call arguments received by layer "private__dense" (type _Dense):
E • inputs=({'item_recency': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'user_age': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'position': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'item_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'session_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_category': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'country': 'tf.Tensor(shape=(56, 64), dtype=float32)'}, {'click': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'like': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'play_percentage': 'tf.Tensor(shape=(56, 1), dtype=float32)'})
E • kwargs={'training': 'True', 'features': {'item_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'user_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'session_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_category': 'tf.Tensor(shape=(10,), dtype=int64)', 'user_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'country': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_recency': 'tf.Tensor(shape=(10,), dtype=float32)', 'user_age': 'tf.Tensor(shape=(10,), dtype=float32)', 'position': 'tf.Tensor(shape=(10,), dtype=float32)'}, 'testing': 'False', 'mask': ('None',), 'targets': {'click': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'like': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'play_percentage': 'tf.Tensor(shape=(10, 1), dtype=float64)'}}
/usr/local/lib/python3.8/dist-packages/keras/engine/input_spec.py:200: ValueError
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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/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:807: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_file_uz96vt2.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:939: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
===== 5 failed, 655 passed, 11 skipped, 121 warnings in 911.14s (0:15:11) ======
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/jenkins4690607371384520546.sh
Click to view CI Results
GitHub pull request #685 of commit e121262c80cad4ff202d411df7b74012d6ab931e, no merge conflicts.
Running as SYSTEM
Setting status of e121262c80cad4ff202d411df7b74012d6ab931e to PENDING with url https://10.20.13.93:8080/job/merlin_models/1082/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse e121262c80cad4ff202d411df7b74012d6ab931e^{commit} # timeout=10
Checking out Revision e121262c80cad4ff202d411df7b74012d6ab931e (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f e121262c80cad4ff202d411df7b74012d6ab931e # timeout=10
Commit message: "Merge branch 'main' into in-batch-negative-sampling-with-dataloader"
> git rev-list --no-walk d1ed6c1189925c6d255b9d1d8d934b7163e6b313 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins14927340414270799958.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 673 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ...... [ 3%]
tests/unit/implicit/test_implicit.py . [ 4%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 5%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 24%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 26%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 26%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_index.py ... [ 31%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 32%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
.................. [ 39%]
tests/unit/tf/data_augmentation/test_misc.py . [ 39%]
tests/unit/tf/data_augmentation/test_negative_sampling.py F..FF..FF. [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 41%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 42%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 42%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 42%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 42%]
tests/unit/tf/examples/test_usecase_ecommerce_session_based.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 43%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 48%]
.. [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 61%]
tests/unit/tf/models/test_base.py s................. [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 64%]
tests/unit/tf/models/test_ranking.py ........................ [ 67%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 75%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 77%]
tests/unit/tf/predictions/test_classification.py ....... [ 78%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 80%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 83%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 84%]
tests/unit/torch/features/test_embedding.py .............. [ 86%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=================================== FAILURES ===================================
________________ TestAddRandomNegativesToBatch.test_dataloader _________________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7f3bec54f100>
def test_dataloader(self):
schema = Schema(
[
ColumnSchema(
"item_id", tags=[Tags.ITEM, Tags.ITEM_ID, Tags.CATEGORICAL], dtype="int64"
),
ColumnSchema("item_feature", tags=[Tags.ITEM, Tags.CATEGORICAL]),
ColumnSchema(
"user_id", tags=[Tags.USER, Tags.USER_ID, Tags.CATEGORICAL], dtype="int64"
),
ColumnSchema("user_feature", tags=[Tags.USER, Tags.CATEGORICAL]),
ColumnSchema("label", tags=[Tags.TARGET]),
]
)
n_per_positive = 5
sampler = UniformNegativeSampling(schema, n_per_positive)
input_df = pd.DataFrame(
[
{"user_id": 1, "item_id": 1, "item_feature": 2, "user_feature": 10, "label": 1},
{"user_id": 2, "item_id": 3, "item_feature": 6, "user_feature": 5, "label": 1},
]
)
input_df = input_df[sorted(input_df.columns)]
dataset = Dataset(input_df, schema=schema)
batched_dataset = BatchedDataset(dataset, batch_size=10)
batched_dataset = batched_dataset.map(sampler)
first_batch_outputs = next(iter(batched_dataset))
outputs = first_batch_outputs.outputs
E AttributeError: 'tuple' object has no attribute 'outputs'
tests/unit/tf/data_augmentation/test_negative_sampling.py:75: AttributeError
_______________ TestAddRandomNegativesToBatch.test_calling[True] _______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7f3bec4dffa0>
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7f3b5e8c0be0>
to_dense = True, tf_random_seed = 1
@pytest.mark.parametrize("to_dense", [True, False])
def test_calling(self, music_streaming_data: Dataset, to_dense: bool, tf_random_seed: int):
schema = music_streaming_data.schema
batch_size, n_per_positive = 10, 5
inputs, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, include_targets=True, to_dense=to_dense
)
sampler = UniformNegativeSampling(schema, 5, seed=tf_random_seed)
with_negatives = sampler(inputs, targets=targets)
outputs = with_negatives.outputs
E AttributeError: 'tuple' object has no attribute 'outputs'
tests/unit/tf/data_augmentation/test_negative_sampling.py:137: AttributeError
______________ TestAddRandomNegativesToBatch.test_calling[False] _______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7f3bec4e90a0>
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7f3b65107ac0>
to_dense = False, tf_random_seed = 1
@pytest.mark.parametrize("to_dense", [True, False])
def test_calling(self, music_streaming_data: Dataset, to_dense: bool, tf_random_seed: int):
schema = music_streaming_data.schema
batch_size, n_per_positive = 10, 5
inputs, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, include_targets=True, to_dense=to_dense
)
sampler = UniformNegativeSampling(schema, 5, seed=tf_random_seed)
with_negatives = sampler(inputs, targets=targets)
outputs = with_negatives.outputs
E AttributeError: 'tuple' object has no attribute 'outputs'
tests/unit/tf/data_augmentation/test_negative_sampling.py:137: AttributeError
----------------------------- Captured stderr call -----------------------------
WARNING:tensorflow:5 out of the last 5 calls to <function UniformNegativeSampling.call at 0x7f3b65a545e0> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.
------------------------------ Captured log call -------------------------------
WARNING tensorflow:def_function.py:148 5 out of the last 5 calls to <function UniformNegativeSampling.call at 0x7f3b65a545e0> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has reduce_retracing=True option that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/guide/function#controlling_retracing and https://www.tensorflow.org/api_docs/python/tf/function for more details.
______________ TestAddRandomNegativesToBatch.test_in_model[True] _______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7f3bec4e94f0>
run_eagerly = True
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7f3b5e01b070>
tf_random_seed = 1
@pytest.mark.parametrize("run_eagerly", [True, False])
def test_in_model(self, run_eagerly, music_streaming_data: Dataset, tf_random_seed: int):
dataset = music_streaming_data
schema = dataset.schema
sampling = mm.Cond(
ExampleIsTraining(),
UniformNegativeSampling(schema, 5, seed=tf_random_seed),
ExamplePredictionIdentity(),
)
model = mm.Model(
mm.InputBlock(schema),
sampling,
mm.MLPBlock([64]),
mm.BinaryClassificationTask("click"),
)
batch_size = 10
features, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, to_dense=True
)
with_negatives = model(features, targets=targets, training=True)
tests/unit/tf/data_augmentation/test_negative_sampling.py:200:
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/training.py:490: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/models/base.py:920: in call
outputs, context = self._call_child(block, outputs, context)
merlin/models/tf/models/base.py:949: in _call_child
outputs = call_layer(child, inputs, **call_kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
merlin/models/config/schema.py:58: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/core/combinators.py:283: in call
outputs = call_layer(layer, outputs, training=training, **kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:146: in error_handler
raise new_e.with_traceback(e.traceback) from None
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/blocks/mlp.py:225: in call
return self.dense(inputs, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:988: in call
input_spec.assert_input_compatibility(self.input_spec, inputs, self.name)
input_spec = [InputSpec(min_ndim=2)]
inputs = [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
... [76.],
[76.],
[77.],
[77.],
[77.],
[77.],
[77.]], dtype=float32)>, ...]
layer_name = 'dense'
def assert_input_compatibility(input_spec, inputs, layer_name):
"""Checks compatibility between the layer and provided inputs.
This checks that the tensor(s) `inputs` verify the input assumptions
of a layer (if any). If not, a clear and actional exception gets raised.
Args:
input_spec: An InputSpec instance, list of InputSpec instances, a nested
structure of InputSpec instances, or None.
inputs: Input tensor, list of input tensors, or a nested structure of
input tensors.
layer_name: String, name of the layer (for error message formatting).
Raises:
ValueError: in case of mismatch between
the provided inputs and the expectations of the layer.
"""
if not input_spec:
return
input_spec = tf.nest.flatten(input_spec)
if isinstance(inputs, dict):
# Flatten `inputs` by reference order if input spec names are provided
names = [spec.name for spec in input_spec]
if all(names):
list_inputs = []
for name in names:
if name not in inputs:
raise ValueError(f'Missing data for input "{name}". '
'You passed a data dictionary with keys '
f'{list(inputs.keys())}. '
f'Expected the following keys: {names}')
list_inputs.append(inputs[name])
inputs = list_inputs
inputs = tf.nest.flatten(inputs)
for x in inputs:
# Having a shape/dtype is the only commonality of the various tensor-like
# objects that may be passed. The most common kind of invalid type we are
# guarding for is a Layer instance (Functional API), which does not
# have a `shape` attribute.
if not hasattr(x, 'shape'):
raise TypeError(f'Inputs to a layer should be tensors. Got: {x}')
if len(inputs) != len(input_spec):
raise ValueError(f'Layer "{layer_name}" expects {len(input_spec)} input(s),'
f' but it received {len(inputs)} input tensors. '
f'Inputs received: {inputs}')
E ValueError: Exception encountered when calling layer "private__dense" (type _Dense).
E
E Layer "dense" expects 1 input(s), but it received 13 input tensors. Inputs received: [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
E 0.03482969, 0.07279999],
E [-0.08623078, 0.09075823, 0.09004455, ..., 0.04702003,
E -0.0338754 , 0.01674279],
E [-0.05367033, -0.03708271, 0.09750845, ..., 0.01826058,
E -0.01067774, 0.00353228],
E ...,
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E [-0.05982495, 0.00941494, -0.0170866 , ..., 0.04046999,
E -0.03917206, 0.02214545],
E [-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E ...,
E [-0.09613073, 0.00574432, -0.06272529, ..., -0.07596413,
E -0.05235805, -0.07114938],
E [ 0.03497816, 0.00258678, -0.02060063, ..., 0.01023176,
E 0.05178693, 0.03078843],
E [ 0.05752415, 0.015951 , 0.03335749, ..., 0.01102087,
E 0.06480642, -0.01859571]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00077411, -0.04272131, 0.01362878, ..., -0.03421735,
E -0.05499429, 0.07281819],
E [-0.04494919, 0.00994679, -0.01409337, ..., 0.03038313,
E -0.04779383, 0.02539765],
E [-0.03843401, -0.04797446, -0.04346054, ..., -0.02784302,
E 0.07427114, -0.06158229],
E ...,
E [ 0.08430401, -0.01791586, -0.01037587, ..., -0.01420283,
E -0.06870842, 0.00973347],
E [ 0.04738706, 0.00152453, -0.05083135, ..., -0.00338309,
E 0.00188581, -0.05811936],
E [-0.0038055 , -0.01493907, 0.02549406, ..., 0.02831712,
E -0.02204459, -0.07184417]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00144552, 0.08053493, -0.05433185, ..., -0.04803555,
E 0.00784254, 0.00134 ],
E [-0.00780611, -0.02837084, -0.02829281, ..., 0.04710324,
E -0.00875665, 0.00205226],
E [ 0.07223409, -0.05060465, 0.0073901 , ..., 0.04512937,
E -0.04797626, -0.01801917],
E ...,
E [ 0.03935708, 0.02653011, 0.00449451, ..., -0.04035959,
E -0.06153113, 0.06843522],
E [-0.04556208, -0.03516526, -0.01127513, ..., 0.06403926,
E -0.03676584, -0.0140518 ],
E [ 0.03712238, 0.01801471, -0.06914667, ..., -0.0608288 ,
E -0.01426386, -0.01721318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.8301565 ],
E [0.24009515],
E [0.63162076],
E [0.71073955],
E [0.7423834 ],
E [0.3902647 ],
E [0.7598254 ],
E [0.9029359 ],
E [0.58742005],
E [0.09040972],
E [0.58742005],
E [0.9029359 ],
E [0.63162076],
E [0.24009515],
E [0.63162076],
E [0.7598254 ],
E [0.3902647 ],
E [0.9029359 ],
E [0.63162076],
E [0.9029359 ],
E [0.09040972],
E [0.7598254 ],
E [0.3902647 ],
E [0.09040972],
E [0.58742005],
E [0.58742005],
E [0.3902647 ],
E [0.7423834 ],
E [0.3902647 ],
E [0.71073955],
E [0.63162076],
E [0.8301565 ],
E [0.7598254 ],
E [0.58742005],
E [0.09040972],
E [0.8301565 ],
E [0.24009515],
E [0.8301565 ],
E [0.8301565 ],
E [0.3902647 ],
E [0.3902647 ],
E [0.8301565 ],
E [0.7423834 ],
E [0.09040972],
E [0.8301565 ],
E [0.3902647 ],
E [0.58742005],
E [0.9029359 ],
E [0.3902647 ],
E [0.7423834 ],
E [0.24009515],
E [0.58742005],
E [0.58742005],
E [0.58742005],
E [0.7598254 ],
E [0.3902647 ]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[98.],
E [ 1.],
E [66.],
E [49.],
E [70.],
E [32.],
E [66.],
E [ 1.],
E [76.],
E [77.],
E [98.],
E [98.],
E [98.],
E [98.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [66.],
E [66.],
E [66.],
E [66.],
E [66.],
E [49.],
E [49.],
E [49.],
E [49.],
E [70.],
E [70.],
E [70.],
E [70.],
E [70.],
E [32.],
E [32.],
E [32.],
E [32.],
E [32.],
E [66.],
E [66.],
E [66.],
E [66.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [76.],
E [76.],
E [76.],
E [76.],
E [77.],
E [77.],
E [77.],
E [77.],
E [77.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.03531459, 0.01980046, 0.01169731, ..., 0.04916441,
E -0.01930056, 0.01097006],
E [ 0.06857657, 0.08909895, -0.01473977, ..., -0.07292735,
E -0.0733112 , 0.05403838],
E [-0.0452647 , -0.0059931 , 0.07863013, ..., 0.00763688,
E -0.03596961, 0.02165018],
E ...,
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[ 3.],
E [14.],
E [ 6.],
E [ 7.],
E [ 1.],
E [ 5.],
E [ 9.],
E [ 2.],
E [ 3.],
E [ 4.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [14.],
E [14.],
E [14.],
E [14.],
E [14.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.07212272, -0.01157783, 0.07209906, ..., 0.03590322,
E -0.011289 , -0.0756909 ],
E [-0.04057395, 0.05453134, 0.03549607, ..., 0.03770151,
E -0.03485281, -0.03873537],
E [ 0.03554836, 0.01588674, -0.07569668, ..., 0.07916976,
E -0.02698494, -0.07710274],
E ...,
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.00450242, 0.03289668, -0.07712229, ..., -0.07252846,
E 0.00708481, -0.05114901],
E [ 0.06754325, 0.00106715, -0.02400186, ..., 0.06388736,
E -0.0527336 , -0.05356371],
E [ 0.01282731, -0.05452716, -0.0341559 , ..., -0.0573374 ,
E -0.02303316, -0.03417253],
E ...,
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.],
E [1.],
E [1.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[1.],
E [0.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.5582866 ],
E [0.39492014],
E [0.5065822 ],
E [0.19596702],
E [0.1567516 ],
E [0.754517 ],
E [0.32997322],
E [0.6441957 ],
E [0.5654556 ],
E [0.8995309 ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ]], dtype=float32)>]
E
E Call arguments received by layer "private__dense" (type _Dense):
E • inputs=({'item_recency': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'user_age': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'position': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'item_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'session_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_category': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'country': 'tf.Tensor(shape=(56, 64), dtype=float32)'}, {'click': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'like': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'play_percentage': 'tf.Tensor(shape=(56, 1), dtype=float32)'})
E • kwargs={'training': 'True', 'features': {'item_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'user_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'session_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_category': 'tf.Tensor(shape=(10,), dtype=int64)', 'user_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'country': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_recency': 'tf.Tensor(shape=(10,), dtype=float32)', 'user_age': 'tf.Tensor(shape=(10,), dtype=float32)', 'position': 'tf.Tensor(shape=(10,), dtype=float32)'}, 'testing': 'False', 'mask': ('None',), 'targets': {'click': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'like': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'play_percentage': 'tf.Tensor(shape=(10, 1), dtype=float64)'}}
/usr/local/lib/python3.8/dist-packages/keras/engine/input_spec.py:200: ValueError
______________ TestAddRandomNegativesToBatch.test_in_model[False] ______________
self = <tests.unit.tf.data_augmentation.test_negative_sampling.TestAddRandomNegativesToBatch object at 0x7f3bec4e9580>
run_eagerly = False
music_streaming_data = <merlin.io.dataset.Dataset object at 0x7f3b5e705eb0>
tf_random_seed = 1
@pytest.mark.parametrize("run_eagerly", [True, False])
def test_in_model(self, run_eagerly, music_streaming_data: Dataset, tf_random_seed: int):
dataset = music_streaming_data
schema = dataset.schema
sampling = mm.Cond(
ExampleIsTraining(),
UniformNegativeSampling(schema, 5, seed=tf_random_seed),
ExamplePredictionIdentity(),
)
model = mm.Model(
mm.InputBlock(schema),
sampling,
mm.MLPBlock([64]),
mm.BinaryClassificationTask("click"),
)
batch_size = 10
features, targets = mm.sample_batch(
music_streaming_data, batch_size=batch_size, to_dense=True
)
with_negatives = model(features, targets=targets, training=True)
tests/unit/tf/data_augmentation/test_negative_sampling.py:200:
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/training.py:490: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/models/base.py:920: in call
outputs, context = self._call_child(block, outputs, context)
merlin/models/tf/models/base.py:949: in _call_child
outputs = call_layer(child, inputs, **call_kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
merlin/models/config/schema.py:58: in call
return super().call(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:96: in error_handler
raise e
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/core/combinators.py:283: in call
outputs = call_layer(layer, outputs, training=training, **kwargs)
merlin/models/tf/utils/tf_utils.py:403: in call_layer
return layer(inputs, *args, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:1014: in call
outputs = call_fn(inputs, *args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:146: in error_handler
raise new_e.with_traceback(e.traceback) from None
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:92: in error_handler
return fn(*args, **kwargs)
merlin/models/tf/blocks/mlp.py:225: in call
return self.dense(inputs, **filtered_kwargs)
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:60: in error_handler
return fn(*args, **kwargs)
/usr/local/lib/python3.8/dist-packages/keras/engine/base_layer.py:988: in call
input_spec.assert_input_compatibility(self.input_spec, inputs, self.name)
input_spec = [InputSpec(min_ndim=2)]
inputs = [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
... [76.],
[76.],
[77.],
[77.],
[77.],
[77.],
[77.]], dtype=float32)>, ...]
layer_name = 'dense'
def assert_input_compatibility(input_spec, inputs, layer_name):
"""Checks compatibility between the layer and provided inputs.
This checks that the tensor(s) `inputs` verify the input assumptions
of a layer (if any). If not, a clear and actional exception gets raised.
Args:
input_spec: An InputSpec instance, list of InputSpec instances, a nested
structure of InputSpec instances, or None.
inputs: Input tensor, list of input tensors, or a nested structure of
input tensors.
layer_name: String, name of the layer (for error message formatting).
Raises:
ValueError: in case of mismatch between
the provided inputs and the expectations of the layer.
"""
if not input_spec:
return
input_spec = tf.nest.flatten(input_spec)
if isinstance(inputs, dict):
# Flatten `inputs` by reference order if input spec names are provided
names = [spec.name for spec in input_spec]
if all(names):
list_inputs = []
for name in names:
if name not in inputs:
raise ValueError(f'Missing data for input "{name}". '
'You passed a data dictionary with keys '
f'{list(inputs.keys())}. '
f'Expected the following keys: {names}')
list_inputs.append(inputs[name])
inputs = list_inputs
inputs = tf.nest.flatten(inputs)
for x in inputs:
# Having a shape/dtype is the only commonality of the various tensor-like
# objects that may be passed. The most common kind of invalid type we are
# guarding for is a Layer instance (Functional API), which does not
# have a `shape` attribute.
if not hasattr(x, 'shape'):
raise TypeError(f'Inputs to a layer should be tensors. Got: {x}')
if len(inputs) != len(input_spec):
raise ValueError(f'Layer "{layer_name}" expects {len(input_spec)} input(s),'
f' but it received {len(inputs)} input tensors. '
f'Inputs received: {inputs}')
E ValueError: Exception encountered when calling layer "private__dense" (type _Dense).
E
E Layer "dense" expects 1 input(s), but it received 13 input tensors. Inputs received: [<tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.02465618, -0.0998245 , 0.04231644, ..., 0.01962418,
E 0.03482969, 0.07279999],
E [-0.08623078, 0.09075823, 0.09004455, ..., 0.04702003,
E -0.0338754 , 0.01674279],
E [-0.05367033, -0.03708271, 0.09750845, ..., 0.01826058,
E -0.01067774, 0.00353228],
E ...,
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061],
E [-0.0001245 , -0.04336631, 0.03477531, ..., -0.00027354,
E 0.02971409, 0.05157061]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E [-0.05982495, 0.00941494, -0.0170866 , ..., 0.04046999,
E -0.03917206, 0.02214545],
E [-0.08489111, -0.01055423, 0.06602425, ..., 0.01737308,
E 0.0065893 , 0.02815151],
E ...,
E [-0.09613073, 0.00574432, -0.06272529, ..., -0.07596413,
E -0.05235805, -0.07114938],
E [ 0.03497816, 0.00258678, -0.02060063, ..., 0.01023176,
E 0.05178693, 0.03078843],
E [ 0.05752415, 0.015951 , 0.03335749, ..., 0.01102087,
E 0.06480642, -0.01859571]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00077411, -0.04272131, 0.01362878, ..., -0.03421735,
E -0.05499429, 0.07281819],
E [-0.04494919, 0.00994679, -0.01409337, ..., 0.03038313,
E -0.04779383, 0.02539765],
E [-0.03843401, -0.04797446, -0.04346054, ..., -0.02784302,
E 0.07427114, -0.06158229],
E ...,
E [ 0.08430401, -0.01791586, -0.01037587, ..., -0.01420283,
E -0.06870842, 0.00973347],
E [ 0.04738706, 0.00152453, -0.05083135, ..., -0.00338309,
E 0.00188581, -0.05811936],
E [-0.0038055 , -0.01493907, 0.02549406, ..., 0.02831712,
E -0.02204459, -0.07184417]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.00144552, 0.08053493, -0.05433185, ..., -0.04803555,
E 0.00784254, 0.00134 ],
E [-0.00780611, -0.02837084, -0.02829281, ..., 0.04710324,
E -0.00875665, 0.00205226],
E [ 0.07223409, -0.05060465, 0.0073901 , ..., 0.04512937,
E -0.04797626, -0.01801917],
E ...,
E [ 0.03935708, 0.02653011, 0.00449451, ..., -0.04035959,
E -0.06153113, 0.06843522],
E [-0.04556208, -0.03516526, -0.01127513, ..., 0.06403926,
E -0.03676584, -0.0140518 ],
E [ 0.03712238, 0.01801471, -0.06914667, ..., -0.0608288 ,
E -0.01426386, -0.01721318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.8301565 ],
E [0.24009515],
E [0.63162076],
E [0.71073955],
E [0.7423834 ],
E [0.3902647 ],
E [0.7598254 ],
E [0.9029359 ],
E [0.58742005],
E [0.09040972],
E [0.58742005],
E [0.9029359 ],
E [0.63162076],
E [0.24009515],
E [0.63162076],
E [0.7598254 ],
E [0.3902647 ],
E [0.9029359 ],
E [0.63162076],
E [0.9029359 ],
E [0.09040972],
E [0.7598254 ],
E [0.3902647 ],
E [0.09040972],
E [0.58742005],
E [0.58742005],
E [0.3902647 ],
E [0.7423834 ],
E [0.3902647 ],
E [0.71073955],
E [0.63162076],
E [0.8301565 ],
E [0.7598254 ],
E [0.58742005],
E [0.09040972],
E [0.8301565 ],
E [0.24009515],
E [0.8301565 ],
E [0.8301565 ],
E [0.3902647 ],
E [0.3902647 ],
E [0.8301565 ],
E [0.7423834 ],
E [0.09040972],
E [0.8301565 ],
E [0.3902647 ],
E [0.58742005],
E [0.9029359 ],
E [0.3902647 ],
E [0.7423834 ],
E [0.24009515],
E [0.58742005],
E [0.58742005],
E [0.58742005],
E [0.7598254 ],
E [0.3902647 ]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[98.],
E [ 1.],
E [66.],
E [49.],
E [70.],
E [32.],
E [66.],
E [ 1.],
E [76.],
E [77.],
E [98.],
E [98.],
E [98.],
E [98.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [66.],
E [66.],
E [66.],
E [66.],
E [66.],
E [49.],
E [49.],
E [49.],
E [49.],
E [70.],
E [70.],
E [70.],
E [70.],
E [70.],
E [32.],
E [32.],
E [32.],
E [32.],
E [32.],
E [66.],
E [66.],
E [66.],
E [66.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [76.],
E [76.],
E [76.],
E [76.],
E [77.],
E [77.],
E [77.],
E [77.],
E [77.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.03531459, 0.01980046, 0.01169731, ..., 0.04916441,
E -0.01930056, 0.01097006],
E [ 0.06857657, 0.08909895, -0.01473977, ..., -0.07292735,
E -0.0733112 , 0.05403838],
E [-0.0452647 , -0.0059931 , 0.07863013, ..., 0.00763688,
E -0.03596961, 0.02165018],
E ...,
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183],
E [-0.02122943, -0.02048924, 0.06912957, ..., 0.01199122,
E -0.03363163, 0.03147183]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[ 3.],
E [14.],
E [ 6.],
E [ 7.],
E [ 1.],
E [ 5.],
E [ 9.],
E [ 2.],
E [ 3.],
E [ 4.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [14.],
E [14.],
E [14.],
E [14.],
E [14.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 6.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 7.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 1.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 5.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 9.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 2.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 3.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.],
E [ 4.]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[-0.07212272, -0.01157783, 0.07209906, ..., 0.03590322,
E -0.011289 , -0.0756909 ],
E [-0.04057395, 0.05453134, 0.03549607, ..., 0.03770151,
E -0.03485281, -0.03873537],
E [ 0.03554836, 0.01588674, -0.07569668, ..., 0.07916976,
E -0.02698494, -0.07710274],
E ...,
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327],
E [ 0.07998834, 0.02461085, 0.04948417, ..., 0.00334132,
E -0.04412389, 0.00480327]], dtype=float32)>, <tf.Tensor: shape=(56, 64), dtype=float32, numpy=
E array([[ 0.00450242, 0.03289668, -0.07712229, ..., -0.07252846,
E 0.00708481, -0.05114901],
E [ 0.06754325, 0.00106715, -0.02400186, ..., 0.06388736,
E -0.0527336 , -0.05356371],
E [ 0.01282731, -0.05452716, -0.0341559 , ..., -0.0573374 ,
E -0.02303316, -0.03417253],
E ...,
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318],
E [-0.08432718, 0.01945755, 0.01157264, ..., 0.02559996,
E -0.04466904, -0.00236318]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.],
E [1.],
E [1.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[1.],
E [0.],
E [0.],
E [1.],
E [0.],
E [0.],
E [1.],
E [1.],
E [1.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.],
E [0.]], dtype=float32)>, <tf.Tensor: shape=(56, 1), dtype=float32, numpy=
E array([[0.5582866 ],
E [0.39492014],
E [0.5065822 ],
E [0.19596702],
E [0.1567516 ],
E [0.754517 ],
E [0.32997322],
E [0.6441957 ],
E [0.5654556 ],
E [0.8995309 ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ],
E [0. ]], dtype=float32)>]
E
E Call arguments received by layer "private__dense" (type _Dense):
E • inputs=({'item_recency': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'user_age': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'position': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'item_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_genres': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'session_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'item_category': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'user_id': 'tf.Tensor(shape=(56, 64), dtype=float32)', 'country': 'tf.Tensor(shape=(56, 64), dtype=float32)'}, {'click': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'like': 'tf.Tensor(shape=(56, 1), dtype=float32)', 'play_percentage': 'tf.Tensor(shape=(56, 1), dtype=float32)'})
E • kwargs={'training': 'True', 'features': {'item_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'user_genres': 'tf.Tensor(shape=(10, 20), dtype=int64)', 'session_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_category': 'tf.Tensor(shape=(10,), dtype=int64)', 'user_id': 'tf.Tensor(shape=(10,), dtype=int64)', 'country': 'tf.Tensor(shape=(10,), dtype=int64)', 'item_recency': 'tf.Tensor(shape=(10,), dtype=float32)', 'user_age': 'tf.Tensor(shape=(10,), dtype=float32)', 'position': 'tf.Tensor(shape=(10,), dtype=float32)'}, 'testing': 'False', 'mask': ('None',), 'targets': {'click': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'like': 'tf.Tensor(shape=(10, 1), dtype=float64)', 'play_percentage': 'tf.Tensor(shape=(10, 1), dtype=float64)'}}
/usr/local/lib/python3.8/dist-packages/keras/engine/input_spec.py:200: ValueError
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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_advertising.py: 1 warning
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 6 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 8 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 13 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/data_augmentation/test_noise.py: 1 warning
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 18 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 28 warnings
tests/unit/tf/models/test_retrieval.py: 60 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/prediction_tasks/test_retrieval.py: 1 warning
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 9 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 18 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 5 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 3 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 10 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 18 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 26 warnings
tests/unit/tf/models/test_retrieval.py: 32 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 7 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 2 warnings
tests/unit/xgb/test_xgboost.py: 17 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.USER_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.USER: 'user'>, <Tags.ID: 'id'>].
warnings.warn(
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/datasets/test_entertainment.py: 1 warning
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_prediction.py: 1 warning
tests/unit/tf/data_augmentation/test_negative_sampling.py: 9 warnings
tests/unit/tf/inputs/test_continuous.py: 2 warnings
tests/unit/tf/inputs/test_embedding.py: 9 warnings
tests/unit/tf/inputs/test_tabular.py: 8 warnings
tests/unit/tf/models/test_ranking.py: 16 warnings
tests/unit/tf/models/test_retrieval.py: 4 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/xgb/test_xgboost.py: 12 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.SESSION_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.SESSION: 'session'>, <Tags.ID: 'id'>].
warnings.warn(
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:807: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_fileyq7ein9a.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:939: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
===== 5 failed, 657 passed, 11 skipped, 996 warnings in 933.07s (0:15:33) ======
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/jenkins13979906975283914209.sh
Click to view CI Results
GitHub pull request #685 of commit 43112b7ad0ae3348eee67cd0a6a1ec5557f037fd, no merge conflicts.
Running as SYSTEM
Setting status of 43112b7ad0ae3348eee67cd0a6a1ec5557f037fd to PENDING with url https://10.20.13.93:8080/job/merlin_models/1083/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse 43112b7ad0ae3348eee67cd0a6a1ec5557f037fd^{commit} # timeout=10
Checking out Revision 43112b7ad0ae3348eee67cd0a6a1ec5557f037fd (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f 43112b7ad0ae3348eee67cd0a6a1ec5557f037fd # timeout=10
Commit message: "Update tests for data augmentation negative sampling layer"
> git rev-list --no-walk e121262c80cad4ff202d411df7b74012d6ab931e # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins283005950380825404.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 673 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ...... [ 3%]
tests/unit/implicit/test_implicit.py . [ 4%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 5%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 24%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 26%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 26%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_index.py ... [ 31%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 32%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
.................. [ 39%]
tests/unit/tf/data_augmentation/test_misc.py . [ 39%]
tests/unit/tf/data_augmentation/test_negative_sampling.py .......... [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 41%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 42%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 42%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 42%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 42%]
tests/unit/tf/examples/test_usecase_ecommerce_session_based.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 43%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 48%]
.. [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 61%]
tests/unit/tf/models/test_base.py s................. [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 64%]
tests/unit/tf/models/test_ranking.py ........................ [ 67%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 75%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 77%]
tests/unit/tf/predictions/test_classification.py ....... [ 78%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 80%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 83%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 84%]
tests/unit/torch/features/test_embedding.py .............. [ 86%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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_advertising.py: 1 warning
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 6 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 8 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 13 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/data_augmentation/test_noise.py: 1 warning
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 18 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 28 warnings
tests/unit/tf/models/test_retrieval.py: 60 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/prediction_tasks/test_retrieval.py: 1 warning
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 9 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 18 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 5 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 3 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 10 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 18 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 26 warnings
tests/unit/tf/models/test_retrieval.py: 32 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 7 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 2 warnings
tests/unit/xgb/test_xgboost.py: 17 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.USER_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.USER: 'user'>, <Tags.ID: 'id'>].
warnings.warn(
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/datasets/test_entertainment.py: 1 warning
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_prediction.py: 1 warning
tests/unit/tf/data_augmentation/test_negative_sampling.py: 9 warnings
tests/unit/tf/inputs/test_continuous.py: 2 warnings
tests/unit/tf/inputs/test_embedding.py: 9 warnings
tests/unit/tf/inputs/test_tabular.py: 8 warnings
tests/unit/tf/models/test_ranking.py: 16 warnings
tests/unit/tf/models/test_retrieval.py: 4 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/xgb/test_xgboost.py: 12 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.SESSION_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.SESSION: 'session'>, <Tags.ID: 'id'>].
warnings.warn(
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:807: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_file1t23rgzv.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:939: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
========== 662 passed, 11 skipped, 996 warnings in 953.89s (0:15:53) ===========
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/jenkins12879782450577170459.sh
Click to view CI Results
GitHub pull request #685 of commit fcfa5c06692cdeb05f462a77db4115b585cb4f2c, no merge conflicts.
Running as SYSTEM
Setting status of fcfa5c06692cdeb05f462a77db4115b585cb4f2c to PENDING with url https://10.20.13.93:8080/job/merlin_models/1086/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse fcfa5c06692cdeb05f462a77db4115b585cb4f2c^{commit} # timeout=10
Checking out Revision fcfa5c06692cdeb05f462a77db4115b585cb4f2c (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f fcfa5c06692cdeb05f462a77db4115b585cb4f2c # timeout=10
Commit message: "Merge branch 'main' into in-batch-negative-sampling-with-dataloader"
> git rev-list --no-walk 38657ee23a8c9354889a664908847e97b70a5ecf # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6320410524662724615.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 673 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ...... [ 3%]
tests/unit/implicit/test_implicit.py . [ 4%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 5%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 24%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 26%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 26%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_index.py ... [ 31%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 32%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
.................. [ 39%]
tests/unit/tf/data_augmentation/test_misc.py . [ 39%]
tests/unit/tf/data_augmentation/test_negative_sampling.py .......... [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 41%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 42%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 42%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 42%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 42%]
tests/unit/tf/examples/test_usecase_ecommerce_session_based.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 43%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 48%]
.. [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 61%]
tests/unit/tf/models/test_base.py s.....F........... [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 64%]
tests/unit/tf/models/test_ranking.py ........................ [ 67%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 75%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 77%]
tests/unit/tf/predictions/test_classification.py ....... [ 78%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 80%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 83%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 84%]
tests/unit/torch/features/test_embedding.py .............. [ 86%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=================================== FAILURES ===================================
____________________ test_train_metrics_steps[60-10-2-6-3] _____________________
num_rows = 60, batch_size = 10, train_metrics_steps = 2, expected_steps = 6
expected_metrics_steps = 3
@pytest.mark.parametrize(
["num_rows", "batch_size", "train_metrics_steps", "expected_steps", "expected_metrics_steps"],
[
(1, 1, 1, 1, 1),
(60, 10, 2, 6, 3),
(60, 10, 3, 6, 2),
(120, 10, 4, 12, 3),
],
)
def test_train_metrics_steps(
num_rows, batch_size, train_metrics_steps, expected_steps, expected_metrics_steps
):
dataset = generate_data("e-commerce", num_rows=num_rows)
model = ml.Model(
ml.InputBlock(dataset.schema),
ml.MLPBlock([64]),
ml.BinaryClassificationTask("click"),
)
model.compile(
run_eagerly=True,
optimizer="adam",
metrics=[tf.keras.metrics.AUC(from_logits=True, name="auc")],
)
metrics_callback = MetricsLogger()
callbacks = [metrics_callback]
_ = model.fit(
dataset,
callbacks=callbacks,
epochs=1,
batch_size=batch_size,
train_metrics_steps=train_metrics_steps,
)
epoch0_logs = metrics_callback.epoch_logs[0]
# number of times compute_metrics called (number of batches in epoch)
assert len(epoch0_logs) == expected_steps
# number of times metrics computed (every train_metrics_steps batches)
assert len({metrics["auc"] for metrics in epoch0_logs}) == expected_metrics_steps
E assert 2 == 3
E + where 2 = len({0.3636363744735718, 0.5})
tests/unit/tf/models/test_base.py:139: AssertionError
----------------------------- Captured stdout call -----------------------------
1/6 [====>.........................] - ETA: 2s - loss: 0.6920 - auc: 0.5000 - regularization_loss: 0.0000e+00
2/6 [=========>....................] - ETA: 0s - loss: 0.6920 - auc: 0.5000 - regularization_loss: 0.0000e+00
3/6 [==============>...............] - ETA: 0s - loss: 0.6987 - auc: 0.3636 - regularization_loss: 0.0000e+00
4/6 [===================>..........] - ETA: 0s - loss: 0.6976 - auc: 0.3636 - regularization_loss: 0.0000e+00
5/6 [========================>.....] - ETA: 0s - loss: 0.6958 - auc: 0.5000 - regularization_loss: 0.0000e+00
6/6 [==============================] - ETA: 0s - loss: 0.6941 - auc: 0.5000 - regularization_loss: 0.0000e+00
6/6 [==============================] - 1s 133ms/step - loss: 0.6941 - auc: 0.5000 - regularization_loss: 0.0000e+00
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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_advertising.py: 1 warning
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 6 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 8 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 13 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/data_augmentation/test_noise.py: 1 warning
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 18 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 28 warnings
tests/unit/tf/models/test_retrieval.py: 60 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/prediction_tasks/test_retrieval.py: 1 warning
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 9 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 18 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 5 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 3 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 10 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 18 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 26 warnings
tests/unit/tf/models/test_retrieval.py: 32 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 7 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 2 warnings
tests/unit/xgb/test_xgboost.py: 17 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.USER_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.USER: 'user'>, <Tags.ID: 'id'>].
warnings.warn(
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/datasets/test_entertainment.py: 1 warning
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_prediction.py: 1 warning
tests/unit/tf/data_augmentation/test_negative_sampling.py: 9 warnings
tests/unit/tf/inputs/test_continuous.py: 2 warnings
tests/unit/tf/inputs/test_embedding.py: 9 warnings
tests/unit/tf/inputs/test_tabular.py: 8 warnings
tests/unit/tf/models/test_ranking.py: 16 warnings
tests/unit/tf/models/test_retrieval.py: 4 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/xgb/test_xgboost.py: 12 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.SESSION_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.SESSION: 'session'>, <Tags.ID: 'id'>].
warnings.warn(
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:807: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_file588w3dq2.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:939: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
===== 1 failed, 661 passed, 11 skipped, 996 warnings in 930.78s (0:15:30) ======
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/jenkins5343980808238290652.sh
Click to view CI Results
GitHub pull request #685 of commit 73f717b910be2f9033f78f9c78fca87e11171112, no merge conflicts.
Running as SYSTEM
Setting status of 73f717b910be2f9033f78f9c78fca87e11171112 to PENDING with url https://10.20.13.93:8080/job/merlin_models/1104/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse 73f717b910be2f9033f78f9c78fca87e11171112^{commit} # timeout=10
Checking out Revision 73f717b910be2f9033f78f9c78fca87e11171112 (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f 73f717b910be2f9033f78f9c78fca87e11171112 # timeout=10
Commit message: "Merge branch 'main' into in-batch-negative-sampling-with-dataloader"
> git rev-list --no-walk f5d953757b0084ab5a1cc5646d8edd4008cfbb42 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins1701922002844482139.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 678 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ...... [ 3%]
tests/unit/implicit/test_implicit.py . [ 3%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 5%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 24%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 25%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 25%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_index.py ... [ 30%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 31%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
.................. [ 38%]
tests/unit/tf/data_augmentation/test_misc.py . [ 38%]
tests/unit/tf/data_augmentation/test_negative_sampling.py .......... [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 41%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 41%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 41%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 42%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 42%]
tests/unit/tf/examples/test_usecase_ecommerce_session_based.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 43%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 48%]
.. [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 60%]
tests/unit/tf/models/test_base.py s................ [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 63%]
tests/unit/tf/models/test_ranking.py .............................. [ 67%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 75%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 78%]
tests/unit/tf/predictions/test_classification.py ....... [ 79%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 81%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 83%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 84%]
tests/unit/torch/features/test_embedding.py .............. [ 87%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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_advertising.py: 1 warning
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 6 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 8 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 13 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/data_augmentation/test_noise.py: 1 warning
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 17 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 34 warnings
tests/unit/tf/models/test_retrieval.py: 60 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/prediction_tasks/test_retrieval.py: 1 warning
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 9 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 18 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 5 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_index.py: 3 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 10 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 17 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 32 warnings
tests/unit/tf/models/test_retrieval.py: 32 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 7 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 2 warnings
tests/unit/xgb/test_xgboost.py: 17 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.USER_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.USER: 'user'>, <Tags.ID: 'id'>].
warnings.warn(
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/datasets/test_entertainment.py: 1 warning
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_prediction.py: 1 warning
tests/unit/tf/data_augmentation/test_negative_sampling.py: 9 warnings
tests/unit/tf/inputs/test_continuous.py: 2 warnings
tests/unit/tf/inputs/test_embedding.py: 9 warnings
tests/unit/tf/inputs/test_tabular.py: 8 warnings
tests/unit/tf/models/test_ranking.py: 16 warnings
tests/unit/tf/models/test_retrieval.py: 4 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/xgb/test_xgboost.py: 12 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.SESSION_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.SESSION: 'session'>, <Tags.ID: 'id'>].
warnings.warn(
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:807: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_file1ihiwp3.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_categorical_one_hot[False]
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_hashed_cross[False]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:980: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_onehot_multihot_feature_interaction[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_feature_interaction_multi_optimizer[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
========== 667 passed, 11 skipped, 1011 warnings in 947.45s (0:15:47) ==========
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/jenkins10507096986075754686.sh
Click to view CI Results
GitHub pull request #685 of commit 4e44065fbb97fa1014be19a0281d473d46ffbd91, no merge conflicts.
Running as SYSTEM
Setting status of 4e44065fbb97fa1014be19a0281d473d46ffbd91 to PENDING with url https://10.20.13.93:8080/job/merlin_models/1193/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse 4e44065fbb97fa1014be19a0281d473d46ffbd91^{commit} # timeout=10
Checking out Revision 4e44065fbb97fa1014be19a0281d473d46ffbd91 (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f 4e44065fbb97fa1014be19a0281d473d46ffbd91 # timeout=10
Commit message: "Merge branch 'main' into in-batch-negative-sampling-with-dataloader"
> git rev-list --no-walk cf6a293d1fbd51418226af2c1b80ca596a339c3a # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins4134992773165573820.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 682 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ...... [ 3%]
tests/unit/implicit/test_implicit.py . [ 3%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 4%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 23%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 25%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 25%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_encoder.py . [ 30%]
tests/unit/tf/core/test_index.py ... [ 30%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 31%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
.................. [ 38%]
tests/unit/tf/data_augmentation/test_misc.py . [ 38%]
tests/unit/tf/data_augmentation/test_negative_sampling.py .......... [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 41%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 41%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 41%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 41%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 42%]
tests/unit/tf/examples/test_usecase_ecommerce_session_based.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 43%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 47%]
..... [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 60%]
tests/unit/tf/models/test_base.py s................ [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 63%]
tests/unit/tf/models/test_ranking.py .............................. [ 68%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 73%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 75%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 76%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 78%]
tests/unit/tf/predictions/test_classification.py ....... [ 79%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 81%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 84%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 85%]
tests/unit/torch/features/test_embedding.py .............. [ 87%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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_advertising.py: 1 warning
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 6 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_encoder.py: 2 warnings
tests/unit/tf/core/test_index.py: 8 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 13 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/data_augmentation/test_noise.py: 1 warning
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 17 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 34 warnings
tests/unit/tf/models/test_retrieval.py: 60 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/prediction_tasks/test_retrieval.py: 1 warning
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 9 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 18 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 5 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_encoder.py: 2 warnings
tests/unit/tf/core/test_index.py: 3 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 10 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 17 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 32 warnings
tests/unit/tf/models/test_retrieval.py: 32 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 2 warnings
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 7 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 2 warnings
tests/unit/xgb/test_xgboost.py: 17 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.USER_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.USER: 'user'>, <Tags.ID: 'id'>].
warnings.warn(
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/datasets/test_entertainment.py: 1 warning
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_encoder.py: 1 warning
tests/unit/tf/core/test_prediction.py: 1 warning
tests/unit/tf/data_augmentation/test_negative_sampling.py: 9 warnings
tests/unit/tf/inputs/test_continuous.py: 2 warnings
tests/unit/tf/inputs/test_embedding.py: 9 warnings
tests/unit/tf/inputs/test_tabular.py: 8 warnings
tests/unit/tf/models/test_ranking.py: 16 warnings
tests/unit/tf/models/test_retrieval.py: 4 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/xgb/test_xgboost.py: 12 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.SESSION_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.SESSION: 'session'>, <Tags.ID: 'id'>].
warnings.warn(
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:879: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_file0r_7gp52.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_categorical_one_hot[False]
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_hashed_cross[False]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:980: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_onehot_multihot_feature_interaction[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_feature_interaction_multi_optimizer[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
========== 671 passed, 11 skipped, 1016 warnings in 960.64s (0:16:00) ==========
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/jenkins12188807120337416845.sh
Click to view CI Results
GitHub pull request #685 of commit 2c79522a130b6792b437931046eced580619b5e9, no merge conflicts.
Running as SYSTEM
Setting status of 2c79522a130b6792b437931046eced580619b5e9 to PENDING with url https://10.20.13.93:8080/job/merlin_models/1217/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/685/*:refs/remotes/origin/pr/685/* # timeout=10
> git rev-parse 2c79522a130b6792b437931046eced580619b5e9^{commit} # timeout=10
Checking out Revision 2c79522a130b6792b437931046eced580619b5e9 (detached)
> git config core.sparsecheckout # timeout=10
> git checkout -f 2c79522a130b6792b437931046eced580619b5e9 # timeout=10
Commit message: "Merge branch 'main' into in-batch-negative-sampling-with-dataloader"
> git rev-list --no-walk 48b7e4ade146052710796e64c8d7f6425fa53e38 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins15646299174745742302.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-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 /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
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.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
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) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version =2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version =2.6->nbformat>=5.0.4->testbook) (1.3.10)
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.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version =1.4.0; python_version jsonschema>=2.6->nbformat>=5.0.4->testbook) (3.8.1)
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.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 685 items
tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 2%]
tests/unit/datasets/test_synthetic.py ...... [ 3%]
tests/unit/implicit/test_implicit.py . [ 3%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 4%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 23%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 23%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 23%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 25%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 25%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 25%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 27%]
tests/unit/tf/core/test_combinators.py s................... [ 30%]
tests/unit/tf/core/test_encoder.py . [ 30%]
tests/unit/tf/core/test_index.py ... [ 30%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 31%]
tests/unit/tf/core/test_transformations.py s............................ [ 35%]
.................. [ 38%]
tests/unit/tf/data_augmentation/test_misc.py . [ 38%]
tests/unit/tf/data_augmentation/test_negative_sampling.py .......... [ 40%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 40%]
tests/unit/tf/examples/test_01_getting_started.py . [ 41%]
tests/unit/tf/examples/test_02_dataschema.py . [ 41%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 41%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 41%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 41%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 41%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 41%]
tests/unit/tf/examples/test_usecase_ecommerce_session_based.py . [ 42%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 42%]
tests/unit/tf/inputs/test_continuous.py ..... [ 42%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 47%]
..... [ 48%]
tests/unit/tf/inputs/test_tabular.py .................. [ 51%]
tests/unit/tf/layers/test_queue.py .............. [ 53%]
tests/unit/tf/losses/test_losses.py ....................... [ 56%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 57%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 60%]
tests/unit/tf/models/test_base.py s................ [ 63%]
tests/unit/tf/models/test_benchmark.py .. [ 63%]
tests/unit/tf/models/test_ranking.py .............................. [ 67%]
tests/unit/tf/models/test_retrieval.py ................................ [ 72%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 75%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py ..... [ 76%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 76%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 77%]
tests/unit/tf/predictions/test_base.py ..... [ 78%]
tests/unit/tf/predictions/test_classification.py ....... [ 79%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 80%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 81%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 82%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 84%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 85%]
tests/unit/torch/features/test_embedding.py .............. [ 87%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
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 ................................ [ 97%]
tests/unit/xgb/test_xgboost.py .................... [100%]
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
../../../../../usr/local/lib/python3.8/dist-packages/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_advertising.py: 1 warning
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 6 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_encoder.py: 2 warnings
tests/unit/tf/core/test_index.py: 8 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 13 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/data_augmentation/test_noise.py: 1 warning
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 17 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 34 warnings
tests/unit/tf/models/test_retrieval.py: 60 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 5 warnings
tests/unit/tf/prediction_tasks/test_retrieval.py: 1 warning
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 9 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 18 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.ITEM_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.ITEM: 'item'>, <Tags.ID: 'id'>].
warnings.warn(
tests/unit/datasets/test_ecommerce.py: 2 warnings
tests/unit/datasets/test_entertainment.py: 4 warnings
tests/unit/datasets/test_social.py: 1 warning
tests/unit/datasets/test_synthetic.py: 5 warnings
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_core.py: 6 warnings
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/test_cross.py: 5 warnings
tests/unit/tf/blocks/test_dlrm.py: 9 warnings
tests/unit/tf/blocks/test_mlp.py: 26 warnings
tests/unit/tf/blocks/test_optimizer.py: 30 warnings
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 10 warnings
tests/unit/tf/core/test_aggregation.py: 6 warnings
tests/unit/tf/core/test_base.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_encoder.py: 2 warnings
tests/unit/tf/core/test_index.py: 3 warnings
tests/unit/tf/core/test_prediction.py: 2 warnings
tests/unit/tf/core/test_transformations.py: 10 warnings
tests/unit/tf/data_augmentation/test_negative_sampling.py: 10 warnings
tests/unit/tf/inputs/test_continuous.py: 4 warnings
tests/unit/tf/inputs/test_embedding.py: 19 warnings
tests/unit/tf/inputs/test_tabular.py: 18 warnings
tests/unit/tf/models/test_base.py: 17 warnings
tests/unit/tf/models/test_benchmark.py: 2 warnings
tests/unit/tf/models/test_ranking.py: 32 warnings
tests/unit/tf/models/test_retrieval.py: 32 warnings
tests/unit/tf/prediction_tasks/test_classification.py: 2 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 5 warnings
tests/unit/tf/predictions/test_base.py: 5 warnings
tests/unit/tf/predictions/test_classification.py: 7 warnings
tests/unit/tf/predictions/test_dot_product.py: 8 warnings
tests/unit/tf/predictions/test_regression.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 7 warnings
tests/unit/torch/block/test_base.py: 4 warnings
tests/unit/torch/block/test_mlp.py: 1 warning
tests/unit/torch/features/test_continuous.py: 1 warning
tests/unit/torch/features/test_embedding.py: 4 warnings
tests/unit/torch/features/test_tabular.py: 4 warnings
tests/unit/torch/model/test_head.py: 12 warnings
tests/unit/torch/model/test_model.py: 2 warnings
tests/unit/torch/tabular/test_aggregation.py: 6 warnings
tests/unit/torch/tabular/test_transformations.py: 2 warnings
tests/unit/xgb/test_xgboost.py: 17 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.USER_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.USER: 'user'>, <Tags.ID: 'id'>].
warnings.warn(
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/datasets/test_entertainment.py: 1 warning
tests/unit/implicit/test_implicit.py: 1 warning
tests/unit/lightfm/test_lightfm.py: 1 warning
tests/unit/tf/test_dataset.py: 1 warning
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py: 2 warnings
tests/unit/tf/blocks/retrieval/test_two_tower.py: 2 warnings
tests/unit/tf/core/test_combinators.py: 10 warnings
tests/unit/tf/core/test_encoder.py: 1 warning
tests/unit/tf/core/test_prediction.py: 1 warning
tests/unit/tf/data_augmentation/test_negative_sampling.py: 9 warnings
tests/unit/tf/inputs/test_continuous.py: 2 warnings
tests/unit/tf/inputs/test_embedding.py: 9 warnings
tests/unit/tf/inputs/test_tabular.py: 8 warnings
tests/unit/tf/models/test_ranking.py: 16 warnings
tests/unit/tf/models/test_retrieval.py: 4 warnings
tests/unit/tf/prediction_tasks/test_multi_task.py: 16 warnings
tests/unit/tf/prediction_tasks/test_regression.py: 3 warnings
tests/unit/xgb/test_xgboost.py: 12 warnings
/usr/local/lib/python3.8/dist-packages/merlin/schema/tags.py:148: UserWarning: Compound tags like Tags.SESSION_ID have been deprecated and will be removed in a future version. Please use the atomic versions of these tags, like [<Tags.SESSION: 'session'>, <Tags.ID: 'id'>].
warnings.warn(
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:879: 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/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 54 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_filetr07yeoo.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/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/data_augmentation/test_noise.py::test_stochastic_swap_noise[0.7]
tests/unit/tf/models/test_base.py::test_model_pre_post[True]
tests/unit/tf/models/test_base.py::test_model_pre_post[False]
/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/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_categorical_one_hot[False]
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_hashed_cross[False]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_2/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:980: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_onehot_multihot_feature_interaction[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_5/sequential_block_9/sequential_block_8/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
tests/unit/tf/models/test_ranking.py::test_wide_deep_model_wide_feature_interaction_multi_optimizer[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/indexed_slices.py:444: UserWarning: Converting sparse IndexedSlices(IndexedSlices(indices=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape_1:0", shape=(None,), dtype=int32), values=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Reshape:0", shape=(None, 1), dtype=float32), dense_shape=Tensor("gradient_tape/model/parallel_block_4/sequential_block_6/sequential_block_5/private__dense_3/dense_3/embedding_lookup_sparse/Cast:0", shape=(2,), dtype=int32))) to a dense Tensor of unknown shape. This may consume a large amount of memory.
warnings.warn(
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:201.)
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:335: 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}.")
tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
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
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
========== 674 passed, 11 skipped, 1025 warnings in 975.46s (0:16:15) ==========
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/jenkins14851408293949059565.sh
Replaced by #703