Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

add usecase with pretrained embeddings #508

Merged
merged 11 commits into from
Jun 23, 2022
Merged

Conversation

radekosmulski
Copy link
Contributor

Following the great advice from @rnyak (thank you!!!) I was able to create a use case around using pretrained embeddings.

I use TensorInitializer to provide the model with pretrained embeddings for the movies.

model = mm.DCNModel(
train.schema,
    depth=2,
    deep_block=mm.MLPBlock([64, 32]),
    prediction_tasks=mm.BinaryClassificationTask(target_column),
    embedding_options=mm.EmbeddingOptions(
        embeddings_initializers={
            "movieId": mm.TensorInitializer(pretrained_movie_embs),
        }
    )
)

But while this works, I am not sure that this is what this functionality should look like (I am using preexisting pieces that probably were developed for some other purpose).

The full-blown scenario IMHO should look a little bit more like this:

  • you still can train embeddings from scratch for each of your categorical variables
  • but you can also specify any number of pretrained embedding matrices for any of your categorical features

For instance, in an extreme scenario where you have 3 different shots for each product, you should be able to train a regular embedding for that product, and then feed in each of the 3 pretrained image embeddings for each item.

Something like this

    embedding_options=mm.EmbeddingOptions(
        embedding_dims={'product_id': 128}
        embeddings_initializers={
            "product_id_shot_A": mm.TensorInitializer(pretrained_product_id_embs_A),
            "product_id_shot_B": mm.TensorInitializer(pretrained_product_id_embs_B),
            "product_id_shot_C": mm.TensorInitializer(pretrained_product_id_embs_C),
        }
    )

where the model would still be able to tie each of the embeddings to the product_id (to know which row to fetch for a given example).

This is by all means not finished, just probably another step in the conversation.

resolves #421

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@github-actions
Copy link

Documentation preview

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

@radekosmulski radekosmulski self-assigned this Jun 13, 2022
@rnyak rnyak requested a review from gabrielspmoreira June 13, 2022 17:18
@rnyak
Copy link
Contributor

rnyak commented Jun 13, 2022

@radekosmulski thanks for the PR. Arent we already capable of doing this?

    embedding_options=mm.EmbeddingOptions(
        embedding_dims={'product_id': 128}
        embeddings_initializers={
            "product_id_shot_A": mm.TensorInitializer(pretrained_product_id_embs_A),
            "product_id_shot_B": mm.TensorInitializer(pretrained_product_id_embs_B),
            "product_id_shot_C": mm.TensorInitializer(pretrained_product_id_embs_C),
        }
    )

dont we have such functionality right now? if not, what's missing can you please identify? thanks.

@radekosmulski
Copy link
Contributor Author

radekosmulski commented Jun 14, 2022

@rnyak I am not fully sure if I am understanding the functionality right but if I right now do the following:

model = mm.DCNModel(
train.schema,
    depth=2,
    deep_block=mm.MLPBlock([64, 32]),
    prediction_tasks=mm.BinaryClassificationTask(target_column),
    embedding_options=mm.EmbeddingOptions(
        embeddings_initializers={
            "movieId": mm.TensorInitializer(pretrained_movie_embs),
        }
    )
)

whatever embeddings would be automatically created for my movieId are replaced with the embedding matrix I create via mm.TensorInitializer. The movieId ids map to the indices in the newly created embedding matrix.

If I do the following:

    embedding_options=mm.EmbeddingOptions(
        embedding_dims={'product_id': 128}
        embeddings_initializers={
            "product_id_shot_A": mm.TensorInitializer(pretrained_product_id_embs_A),
            "product_id_shot_B": mm.TensorInitializer(pretrained_product_id_embs_B),
            "product_id_shot_C": mm.TensorInitializer(pretrained_product_id_embs_C),
        }
    )

there is no product_id_shot_A index in my dataset. I would like the embedding matrix to map to movieId index. But I don't think I can do the following either:

    embedding_options=mm.EmbeddingOptions(
        embedding_dims={'product_id': 128}
        embeddings_initializers={
            "movieId": mm.TensorInitializer(pretrained_product_id_embs_A),
            "movieId": mm.TensorInitializer(pretrained_product_id_embs_B),
            "movieId": mm.TensorInitializer(pretrained_product_id_embs_C),
        }
    )

or can I? 🤔

Will try that out right now 😄

@radekosmulski
Copy link
Contributor Author

Just tried that

pretrained_movie_embs_A = np.random.random((1682, 64))
pretrained_movie_embs_B = np.random.random((1682, 64))

model = mm.DCNModel(
train.schema,
    depth=2,
    deep_block=mm.MLPBlock([64, 32]),
    prediction_tasks=mm.BinaryClassificationTask(target_column),
    embedding_options=mm.EmbeddingOptions(
        embeddings_initializers={
            "movieId": mm.TensorInitializer(pretrained_movie_embs_A),
            "movieId": mm.TensorInitializer(pretrained_movie_embs_B),
        }
    )
)

and I believe only a single embedding matrix can be associated with a movieId. We can either have the "default" embeddings for movieId, like for any other categorical variable, or we can have the pretrained embeddings that we provide, but we cannot have both or multiple pretrained embeddings.

This would be a super useful feature to have (and would allow us to train multimodal models).

I am thinking that this example might be good to go as is, it demonstrates the use of pretrained embeddings. There is also a workaround to this I believe, by creating duplicated movieId columns, but it would be really elegant if we could tie the same column ID to embeddings coming from different embedding tables

Maybe we could merge this use case and continue the conversation in NVIDIA-Merlin/Merlin#211?

@rnyak
Copy link
Contributor

rnyak commented Jun 14, 2022

Just tried that

pretrained_movie_embs_A = np.random.random((1682, 64))
pretrained_movie_embs_B = np.random.random((1682, 64))

model = mm.DCNModel(
train.schema,
    depth=2,
    deep_block=mm.MLPBlock([64, 32]),
    prediction_tasks=mm.BinaryClassificationTask(target_column),
    embedding_options=mm.EmbeddingOptions(
        embeddings_initializers={
            "movieId": mm.TensorInitializer(pretrained_movie_embs_A),
            "movieId": mm.TensorInitializer(pretrained_movie_embs_B),
        }
    )
)

and I believe only a single embedding matrix can be associated with a movieId. We can either have the "default" embeddings for movieId, like for any other categorical variable, or we can have the pretrained embeddings that we provide, but we cannot have both or multiple pretrained embeddings.

This would be a super useful feature to have (and would allow us to train multimodal models).

I am thinking that this example might be good to go as is, it demonstrates the use of pretrained embeddings. There is also a workaround to this I believe, by creating duplicated movieId columns, but it would be really elegant if we could tie the same column ID to embeddings coming from different embedding tables

Maybe we could merge this use case and continue the conversation in NVIDIA-Merlin/Merlin#211?

I think it is expected to have one embedding table per input column. What I meant, if you have say image embeddings per movie_id, you can create an extra column in the input dataframe by copying the movieId column, and name it to something like movieId_image and then add that column name to TensorInitializer like below. Is that not working?


> pretrained_movie_embs_B = np.random.random((1682, 64))
> 
> model = mm.DCNModel(
> train.schema,
>     depth=2,
>     deep_block=mm.MLPBlock([64, 32]),
>     prediction_tasks=mm.BinaryClassificationTask(target_column),
>     embedding_options=mm.EmbeddingOptions(
>         embedding_dims={'movieId': 128},
           embeddings_initializers={
>             "movieId_image": mm.TensorInitializer(pretrained_movie_embs_B),
>         }
>     )
> )
> ```

@radekosmulski
Copy link
Contributor Author

It works but I was not sure if this is the solution we want? That was my entire point.

If we are happy with this approach, of duplicating the ID column, then that's perfect. We have everything we need here 🙂

And I am thinking you might be right -- this might be the preferred way to do this, as opposed to probably significantly increasing code complexity just to address this in a more elegant fashion (via being able to tie multiple embeddings to the same ID column)

@rnyak
Copy link
Contributor

rnyak commented Jun 15, 2022

@gabrielspmoreira can you provide your input pls? thanks.

@rnyak
Copy link
Contributor

rnyak commented Jun 15, 2022

It works but I was not sure if this is the solution we want? That was my entire point.

If we are happy with this approach, of duplicating the ID column, then that's perfect. We have everything we need here 🙂

And I am thinking you might be right -- this might be the preferred way to do this, as opposed to probably significantly increasing code complexity just to address this in a more elegant fashion (via being able to tie multiple embeddings to the same ID column)

Let's loop Gabriel in and get his opinion as well.
also, I think it would be better if you can generate embeddings from genres column using word2vec or something else, instead of adding random embedding vectors to the TensorInitializer.

@gabrielspmoreira
Copy link
Member

gabrielspmoreira commented Jun 16, 2022

Yes @radekosmulski and @rnyak . Currently there is a many-to-one mapping between categorical features and embedding table. Meaning that one embedding table can be shared by multiple categorical features in the schema.pbtxt but not the opposite.
In this example snippet for a schema.pbtxt file you have the categ features clicked_item and previously_clicked_item sharing the same embedding table item_id.

feature {
  name: "clicked_item"
  type: INT
  int_domain {
    name: "item_id"
    max: 3370
    is_categorical: true
  }
}
feature {
  name: "previously_clicked_item"
  type: INT
  int_domain {
    name: "item"
    max: 3370
    is_categorical: true
  }
}

Allowing many-to-many relationship between categ features and embedding tables would add complexity to the schema, requiring changes in both NVTabular and Merlin Models.

@gabrielspmoreira
Copy link
Member

gabrielspmoreira commented Jun 16, 2022

Another possibility would be "cloning" features in the model side. For example, we could have a CloneFeatures block that clones a set of features with new names. For example:

clone_features_block = CloneFeatures(cloning_dict={"item_id": ["item_product_image", "item_product_text"]})
new_schema = clone_features_block.get_schema_with_cloned_features(schema)

Then you could define DLRM model using the low-level API like in this example, so that you can create your own embedding_block like this, setting the clone_features_block as pre, providing the new schema which includes the cloned features and defining the initializers for cloned columns to load the pre-trained embeddings.

embedding_block = mm.EmbeddingFeatures.from_schema(
        new_schema, pre=clone_features_block,
        embedding_options=mm.EmbeddingOptions(
                embedding_dims={'item_id': 128, 'item_product_image': 256, 'item_product_text': 512}
                embeddings_initializers={
                    "item_product_image": mm.TensorInitializer(pretrained_product_image_embs),
                    "item_product_text": mm.TensorInitializer(pretrained_product_text_embs),
                }
    )
)

Here is a prototype of how such CloneFeatures block could look like

@tf.keras.utils.register_keras_serializable(package="merlin.models")
class CloneFeatures(TabularBlock):

    def __init__(
        self, cloning_dict, name=None, **kwargs
    ):
        self.cloning_dict = cloning_dict
        super().__init__(name=name, **kwargs)

    def call(self, inputs: TabularData, **kwargs) -> TabularData:
        outputs = inputs
        for feat_name in inputs:
            if feat_name in self.cloning_dict:
                new_feature_names = self.cloning_dict[feat_name]
                for new_feat_name in new_feature_names:
                    outputs[new_feat_name] = inputs[feat_name]

        return outputs

    def compute_call_output_shape(self, input_shape):
        output_shape = {k: v for k, v in input_shape.items()}

        for original_feat_name, new_feat_names in self.cloning_dict.items():
            for new_feat_name in new_feat_names:
                output_shape[new_feat_name] = output_shape[original_feat_name]

        return output_shape

    def get_config(self):
        config = super().get_config()
        config["cloning_dict"] = self.feature_names

        return config

    def get_schema_with_cloned_features(self, schema):
        new_column_schemas = []
        for column_schema in schema:
            if column_schema.name in self.cloning_dict:
                new_feature_names = self.cloning_dict[column_schema.name]
                for new_feat_name in new_feature_names:
                    new_col_schema = copy.deepcopy(column_schema)
                    new_col_schema.name = new_feat_name
                    new_column_schemas.append(new_col_schema)

        new_schema = Schema([schema] + new_column_schemas)
        return new_schema

Would that design make sense @marcromeyn @sararb ?

@gabrielspmoreira
Copy link
Member

In such cases, you might prefer setting the pre-trained embedding to trainable=False. Currently we don't have in the API an option to freeze weights of embedding tables.
But I know that @marcromeyn is working in a refactory that will make it more flexible to set embedding table options. What are your thoughs on this @marcromeyn ?

@rnyak
Copy link
Contributor

rnyak commented Jun 17, 2022

Yes @radekosmulski and @rnyak . Currently there is a many-to-one mapping between categorical features and embedding table. Meaning that one embedding table can be shared by multiple categorical features in the schema.pbtxt but not the opposite. In this example snippet for a schema.pbtxt file you have the categ features clicked_item and previously_clicked_item sharing the same embedding table item_id.

feature {
  name: "clicked_item"
  type: INT
  int_domain {
    name: "item_id"
    max: 3370
    is_categorical: true
  }
}
feature {
  name: "previously_clicked_item"
  type: INT
  int_domain {
    name: "item_id"
    max: 3370
    is_categorical: true
  }
}

Allowing many-to-many relationship between categ features and embedding tables would add complexity to the schema, requiring changes in both NVTabular and Merlin Models.

that's a good point. why we need to tag item_product_image as item_id in the schema? isnt it an item feature like brand and category, so why not only tagging it as item. May be I am missing something :)

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filemja0145.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
_.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@bschifferer
Copy link
Contributor

bschifferer commented Jun 20, 2022

I think we can iterate on the example and merged a simpler version, just using synthetic embeddings / random embeddings.

I have multiple comments on the current notebook:

  • Can we add a similar structure as our other examples: https://github.com/NVIDIA-Merlin/models/blob/main/examples/01-Getting-started.ipynb
    -- Copyright block
    -- Heading (good title)
    -- Description of the notebook
    -- Learning Objectives
    -- Sub headings
  • Currently, the example reads the NVTabular saved workflow to receive the number of moveIds. We can extract the information from train.schema.
  • by using the schema file, we do not need to set chdir . I think there is potential that the environment looks for user differently. I would try to avoid it if there is no specific need for it.
  • Can we add a simple unit test for it? I think all (new) examples should have a unittest with testbook

@gabrielspmoreira
Copy link
Member

Yes @radekosmulski and @rnyak . Currently there is a many-to-one mapping between categorical features and embedding table. Meaning that one embedding table can be shared by multiple categorical features in the schema.pbtxt but not the opposite. In this example snippet for a schema.pbtxt file you have the categ features clicked_item and previously_clicked_item sharing the same embedding table item_id.

feature {
  name: "clicked_item"
  type: INT
  int_domain {
    name: "item_id"
    max: 3370
    is_categorical: true
  }
}
feature {
  name: "previously_clicked_item"
  type: INT
  int_domain {
    name: "item_id"
    max: 3370
    is_categorical: true
  }
}

Allowing many-to-many relationship between categ features and embedding tables would add complexity to the schema, requiring changes in both NVTabular and Merlin Models.

that's a good point. why we need to tag item_product_image as item_id in the schema? isnt it an item feature like brand and category, so why not only tagging it as item. May be I am missing something :)

You are right @rnyak . Only the item id feature should be tagged with item_id Tag

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_fileo4wmdii2.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filek1rc9tnf.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@radekosmulski
Copy link
Contributor Author

Seems the CI is not too happy about the label, I wonder what should we do here? I can create the examples label or would we rather align the CI with the scheme that we have there currently?

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_file2ii7pwst.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_file3f8katfy.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filepw6o54f3.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@bschifferer
Copy link
Contributor

Seems the CI is not too happy about the label, I wonder what should we do here? I can create the examples label or would we rather align the CI with the scheme that we have there currently?

What do you mean with CI is not happening?

tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 35%] it seems it was executed, when I check the [nvidia-merlin-bot](https://github.com/nvidia-merlin-bot) comments

@radekosmulski
Copy link
Contributor Author

@bschifferer it is a test regarding a label on the PR that is failing:
image

I think it might not like the label area/examples, not sure what would be the best way to fix it (change the label to documentation or amend the test)

I also see that we have another test failing regarding code formatting, will fix this now

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 272 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_fileuipy4daf.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@radekosmulski
Copy link
Contributor Author

radekosmulski commented Jun 22, 2022

I don't believe that this is an absolute necessity to have this before this work can be merged (we can add this at a later time possibly), but one thing I attempted here (which could be very helpful to our users) was freezing the embeddings.

The way I went about it was that I found the embedding weights (after the model was constructed) and attempted to set the trainable variable to False. I tried assign and a bunch of other things, including googling for this quite extensively, but I didn't find a way to do so. I wonder if there is a good way to do this? Or is there a good way to remove these parameters from the optimizer?

Maybe this is something worth considering as part of Merlin#211?

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filed6tj3dto.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@sararb
Copy link
Contributor

sararb commented Jun 22, 2022

Need support of non-trainable embeddings table

@radekosmulski
Copy link
Contributor Author

A really good day of meetings yesterday 🙂 I would like to thank @bschifferer and @oliverholworthy for their invaluable feedback! 🙂 Apart from working on this PR, I spent some time modifying the example for xgboost based on Oliver's comments. Seems talking to a person who implemented a particular functionality adds another dimension to what is happening in code and is super useful for me in creating examples 🙂 Might start bothering people more actively going forward for their perspective as I continue to work on these notebooks 😄 Thanks a lot for the help again!

I will push a new version of this example in a few minutes, just wanted to leave one comment before I do so.

Tried to add additional explanations in the areas identified by @bschifferer. One thing I was not able to do though that we discussed was showing how the embedding table changes after training. The blocker here was that the embedding table doesn't seem to exist before calling fit on the model (even after compile).

image

The embedding matrix should be accessible here:
model.layers[0].layers[0].layers[0].parallel_layers['categorical'].embedding_tables
and it indeed is after training.

BTW the fact that all this happens in fit is probably a useful consideration for designing how we can give users the ability to freeze these embedding layers.

I felt training for a single epoch and then showing the embedding table, and only then training for more epochs, is a little bit inelegant, hence opted for not including this comparison. But happy to add it if that would be the call on this one!

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_filebmka0hm2.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

@nvidia-merlin-bot
Copy link

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

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

=============================== warnings summary ===============================
../../../.local/lib/python3.8/site-packages/flatbuffers/compat.py:19
/var/jenkins_home/.local/lib/python3.8/site-packages/flatbuffers/compat.py:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp

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

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

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

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

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

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

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

tests/unit/tf/blocks/core/test_index.py: 7 warnings
tests/unit/tf/models/test_retrieval.py: 311 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 100 warnings
tests/unit/tf/utils/test_batch.py: 4 warnings
/tmp/autograph_generated_file8tu07q5n.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.1]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.3]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.5]
tests/unit/tf/blocks/core/test_transformations.py::test_stochastic_swap_noise[0.7]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/util/dispatch.py:1082: UserWarning: tf.keras.backend.random_binomial is deprecated, and will be removed in a future version.Please use tf.keras.backend.random_bernoulli instead.
return dispatch_target(*args, **kwargs)

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

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

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

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

Copy link
Contributor

@bschifferer bschifferer left a comment

Choose a reason for hiding this comment

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

It looks good to me. I like the version as a first step.

We can update it with freezing the pretrained embeddings, when the feature is available.

@radekosmulski radekosmulski added the documentation Improvements or additions to documentation label Jun 23, 2022
@radekosmulski radekosmulski merged commit 10755a8 into main Jun 23, 2022
@rnyak
Copy link
Contributor

rnyak commented Jun 24, 2022

@radekosmulski did you create a bug ticket for The blocker here was that the embedding table doesn't seem to exist before calling fit on the model (even after compile). issue? Thanks.

@radekosmulski
Copy link
Contributor Author

@rnyak apologies, didn't realize this would be a bug, thank you for catching this! Raised one now

radekosmulski added a commit that referenced this pull request Jun 30, 2022
Add usecase with pretrained embeddings
mengyao00 pushed a commit that referenced this pull request Jul 15, 2022
Add usecase with pretrained embeddings
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task] Example for using pre-trained embeddings
6 participants