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

Top-k recommender model #663

Closed
wants to merge 2 commits into from
Closed

Top-k recommender model #663

wants to merge 2 commits into from

Conversation

sararb
Copy link
Contributor

@sararb sararb commented Aug 18, 2022

Fixes #622

Goals ⚽

  • Decouple the top-k local prediction top-k evaluation from the retrieval contrastive learning task.

  • REfactor retrieval models and add a method to convert to a top-k recommender model :

    • Two-Tower
    • Matrix Factorization
    • YoutubeDNN
  • Ensure the Keras analogy for the top-k recommender where the user can call

    • .predict, .
    • evaluate,
    • .save, and load the model.
  • ItemRecommender should support different top-k strategies:

    • Brute-force
    • Streaming : Not in the scope of this PR
    • ANN or any user-specific top-k strategy. : Not in the scope of this PR
  • Ensure retrieval experiments and CI performance tests are returning same level of performance with the new Retrieval API

Implementation Details 🚧

Testing Details 🔍

@sararb sararb self-assigned this Aug 18, 2022
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #663 of commit 4f3e3d708f7bc2ecadbeb83c1620cdf72dab0324, no merge conflicts.
Running as SYSTEM
Setting status of 4f3e3d708f7bc2ecadbeb83c1620cdf72dab0324 to PENDING with url https://10.20.13.93:8080/job/merlin_models/1000/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/663/*:refs/remotes/origin/pr/663/* # timeout=10
 > git rev-parse 4f3e3d708f7bc2ecadbeb83c1620cdf72dab0324^{commit} # timeout=10
Checking out Revision 4f3e3d708f7bc2ecadbeb83c1620cdf72dab0324 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 4f3e3d708f7bc2ecadbeb83c1620cdf72dab0324 # timeout=10
Commit message: "first pass of top-k recommender"
 > git rev-list --no-walk 69151044dbd8f9bd2e88ecd7fcf5abe5f7b65208 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6761334082408397487.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (1.3.10)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version < "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.1)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 189 items / 42 errors

==================================== ERRORS ====================================
_________________ ERROR collecting tests/unit/tf/test_core.py __________________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/test_core.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/test_core.py:4: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
________________ ERROR collecting tests/unit/tf/test_dataset.py ________________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/test_dataset.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/test_dataset.py:26: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______________ ERROR collecting tests/unit/tf/test_public_api.py _______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/test_public_api.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/test_public_api.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_____________ ERROR collecting tests/unit/tf/blocks/test_cross.py ______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/test_cross.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/test_cross.py:20: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______________ ERROR collecting tests/unit/tf/blocks/test_dlrm.py ______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/test_dlrm.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/test_dlrm.py:19: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
__________ ERROR collecting tests/unit/tf/blocks/test_interactions.py __________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/test_interactions.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/test_interactions.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______________ ERROR collecting tests/unit/tf/blocks/test_mlp.py _______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/test_mlp.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/test_mlp.py:21: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/blocks/test_optimizer.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/test_optimizer.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/test_optimizer.py:22: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_________ ERROR collecting tests/unit/tf/blocks/retrieval/test_base.py _________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/retrieval/test_base.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/retrieval/test_base.py:18: in
from merlin.models.tf.blocks.retrieval.base import ItemRetrievalScorer
merlin/models/tf/blocks/retrieval/base.py:27: in
from merlin.models.tf.models.base import ModelBlock
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
E ImportError: cannot import name 'Model' from partially initialized module 'merlin.models.tf.models.base' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py)
_ ERROR collecting tests/unit/tf/blocks/retrieval/test_matrix_factorization.py _
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/retrieval/test_matrix_factorization.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py:20: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______ ERROR collecting tests/unit/tf/blocks/retrieval/test_two_tower.py _______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/blocks/retrieval/test_two_tower.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/blocks/retrieval/test_two_tower.py:22: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/core/test_aggregation.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_aggregation.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_aggregation.py:21: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_______________ ERROR collecting tests/unit/tf/core/test_base.py _______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_base.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_base.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/core/test_combinators.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_combinators.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_combinators.py:6: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______________ ERROR collecting tests/unit/tf/core/test_index.py _______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_index.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_index.py:19: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
____________ ERROR collecting tests/unit/tf/core/test_prediction.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_prediction.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_prediction.py:7: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_____________ ERROR collecting tests/unit/tf/core/test_tabular.py ______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_tabular.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_tabular.py:1: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_________ ERROR collecting tests/unit/tf/core/test_transformations.py __________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/core/test_transformations.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/core/test_transformations.py:23: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
________ ERROR collecting tests/unit/tf/data_augmentation/test_misc.py _________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/data_augmentation/test_misc.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/data_augmentation/test_misc.py:19: in
from merlin.models.tf.data_augmentation.misc import ContinuousPowers
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
__ ERROR collecting tests/unit/tf/data_augmentation/test_negative_sampling.py __
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/data_augmentation/test_negative_sampling.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/data_augmentation/test_negative_sampling.py:21: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
________ ERROR collecting tests/unit/tf/data_augmentation/test_noise.py ________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/data_augmentation/test_noise.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/data_augmentation/test_noise.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/inputs/test_continuous.py ___________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/inputs/test_continuous.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/inputs/test_continuous.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/inputs/test_embedding.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/inputs/test_embedding.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/inputs/test_embedding.py:23: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
____________ ERROR collecting tests/unit/tf/inputs/test_tabular.py _____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/inputs/test_tabular.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/inputs/test_tabular.py:21: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_____________ ERROR collecting tests/unit/tf/layers/test_queue.py ______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/layers/test_queue.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/layers/test_queue.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_____________ ERROR collecting tests/unit/tf/losses/test_losses.py _____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/losses/test_losses.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/losses/test_losses.py:20: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______________ ERROR collecting tests/unit/tf/models/test_base.py ______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/models/test_base.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/models/test_base.py:22: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/models/test_benchmark.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/models/test_benchmark.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/models/test_benchmark.py:19: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
____________ ERROR collecting tests/unit/tf/models/test_ranking.py _____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/models/test_ranking.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/models/test_ranking.py:20: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/models/test_retrieval.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/models/test_retrieval.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/models/test_retrieval.py:6: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
____ ERROR collecting tests/unit/tf/prediction_tasks/test_classification.py ____
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/prediction_tasks/test_classification.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/prediction_tasks/test_classification.py:18: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______ ERROR collecting tests/unit/tf/prediction_tasks/test_multi_task.py ______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/prediction_tasks/test_multi_task.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/prediction_tasks/test_multi_task.py:6: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______ ERROR collecting tests/unit/tf/prediction_tasks/test_next_item.py _______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/prediction_tasks/test_next_item.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/prediction_tasks/test_next_item.py:20: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______ ERROR collecting tests/unit/tf/prediction_tasks/test_regression.py ______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/prediction_tasks/test_regression.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/prediction_tasks/test_regression.py:18: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______ ERROR collecting tests/unit/tf/prediction_tasks/test_retrieval.py _______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/prediction_tasks/test_retrieval.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/prediction_tasks/test_retrieval.py:19: in
from merlin.models.tf.prediction_tasks.retrieval import ItemRetrievalTask
merlin/models/tf/prediction_tasks/retrieval.py:21: in
from merlin.models.tf.blocks.retrieval.base import ItemRetrievalScorer
merlin/models/tf/blocks/retrieval/base.py:27: in
from merlin.models.tf.models.base import ModelBlock
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
E ImportError: cannot import name 'Model' from partially initialized module 'merlin.models.tf.models.base' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/models/base.py)
_______ ERROR collecting tests/unit/tf/prediction_tasks/test_sampling.py _______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/prediction_tasks/test_sampling.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/prediction_tasks/test_sampling.py:20: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
___________ ERROR collecting tests/unit/tf/predictions/test_base.py ____________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/predictions/test_base.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/predictions/test_base.py:19: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______ ERROR collecting tests/unit/tf/predictions/test_classification.py _______
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/predictions/test_classification.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/predictions/test_classification.py:19: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
________ ERROR collecting tests/unit/tf/predictions/test_dot_product.py ________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/predictions/test_dot_product.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/predictions/test_dot_product.py:4: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
________ ERROR collecting tests/unit/tf/predictions/test_regression.py _________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/predictions/test_regression.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/predictions/test_regression.py:18: in
import merlin.models.tf as mm
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
_________ ERROR collecting tests/unit/tf/predictions/test_sampling.py __________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/predictions/test_sampling.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/predictions/test_sampling.py:20: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
______________ ERROR collecting tests/unit/tf/utils/test_batch.py ______________
ImportError while importing test module '/var/jenkins_home/workspace/merlin_models/models/tests/unit/tf/utils/test_batch.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.8/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/unit/tf/utils/test_batch.py:4: in
import merlin.models.tf as ml
merlin/models/tf/init.py:21: in
from merlin.models.tf.core.index import IndexBlock, TopKIndexBlock
merlin/models/tf/core/index.py:26: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
merlin/models/tf/utils/batch_utils.py:10: in
from merlin.models.tf.models.base import Model, RetrievalModel
merlin/models/tf/models/base.py:30: in
from merlin.models.tf.predictions.topk import TopKLayer, TopKPrediction
merlin/models/tf/predictions/topk.py:13: in
from merlin.models.tf.utils.batch_utils import TFModelEncode
E ImportError: cannot import name 'TFModelEncode' from partially initialized module 'merlin.models.tf.utils.batch_utils' (most likely due to a circular import) (/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/utils/batch_utils.py)
=============================== warnings summary ===============================
../../../../../usr/lib/python3/dist-packages/requests/init.py:89
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.11) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "

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

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

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

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

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

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

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
!!!!!!!!!!!!!!!!!!! Interrupted: 42 errors during collection !!!!!!!!!!!!!!!!!!!
======================== 7 warnings, 42 errors in 5.94s ========================
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[merlin_models] $ /bin/bash /tmp/jenkins1715657007428359111.sh

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #663 of commit 378fec819be8f3dce21df53f71c9a040dd8adc04, no merge conflicts.
Running as SYSTEM
Setting status of 378fec819be8f3dce21df53f71c9a040dd8adc04 to PENDING with url https://10.20.13.93:8080/job/merlin_models/1001/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/663/*:refs/remotes/origin/pr/663/* # timeout=10
 > git rev-parse 378fec819be8f3dce21df53f71c9a040dd8adc04^{commit} # timeout=10
Checking out Revision 378fec819be8f3dce21df53f71c9a040dd8adc04 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 378fec819be8f3dce21df53f71c9a040dd8adc04 # timeout=10
Commit message: "fix circular import"
 > git rev-list --no-walk 4f3e3d708f7bc2ecadbeb83c1620cdf72dab0324 # timeout=10
[merlin_models] $ /bin/bash /tmp/jenkins6491777090491700769.sh
Looking in indexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: testbook in /usr/local/lib/python3.8/dist-packages (0.4.2)
Requirement already satisfied: nbformat>=5.0.4 in /usr/local/lib/python3.8/dist-packages (from testbook) (5.4.0)
Requirement already satisfied: nbclient>=0.4.0 in /usr/local/lib/python3.8/dist-packages (from testbook) (0.6.6)
Requirement already satisfied: traitlets>=5.1 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (5.3.0)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.9.1)
Requirement already satisfied: jupyter-core in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (4.11.1)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.8/dist-packages (from nbformat>=5.0.4->testbook) (2.16.1)
Requirement already satisfied: jupyter-client>=6.1.5 in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (7.3.4)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.8/dist-packages (from nbclient>=0.4.0->testbook) (1.5.5)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (22.1.0)
Requirement already satisfied: importlib-resources>=1.4.0; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (5.9.0)
Requirement already satisfied: pkgutil-resolve-name>=1.3.10; python_version < "3.9" in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (1.3.10)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=2.6->nbformat>=5.0.4->testbook) (0.18.1)
Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (0.4)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (2.8.2)
Requirement already satisfied: pyzmq>=23.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (23.2.1)
Requirement already satisfied: tornado>=6.0 in /usr/local/lib/python3.8/dist-packages (from jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (6.2)
Requirement already satisfied: zipp>=3.1.0; python_version < "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.1)
Requirement already satisfied: six>=1.5 in /var/jenkins_home/.local/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.5->nbclient>=0.4.0->testbook) (1.15.0)
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_models/models, configfile: pyproject.toml
plugins: anyio-3.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 660 items

tests/unit/config/test_schema.py .... [ 0%]
tests/unit/datasets/test_advertising.py .s [ 0%]
tests/unit/datasets/test_ecommerce.py ..sss [ 1%]
tests/unit/datasets/test_entertainment.py ....sss. [ 2%]
tests/unit/datasets/test_social.py . [ 3%]
tests/unit/datasets/test_synthetic.py ..... [ 3%]
tests/unit/implicit/test_implicit.py . [ 3%]
tests/unit/lightfm/test_lightfm.py . [ 4%]
tests/unit/tf/test_core.py ...... [ 5%]
tests/unit/tf/test_dataset.py ................ [ 7%]
tests/unit/tf/test_public_api.py . [ 7%]
tests/unit/tf/blocks/test_cross.py ........... [ 9%]
tests/unit/tf/blocks/test_dlrm.py .......... [ 10%]
tests/unit/tf/blocks/test_interactions.py . [ 10%]
tests/unit/tf/blocks/test_mlp.py ................................. [ 15%]
tests/unit/tf/blocks/test_optimizer.py s................................ [ 20%]
..................... [ 24%]
tests/unit/tf/blocks/retrieval/test_base.py . [ 24%]
tests/unit/tf/blocks/retrieval/test_matrix_factorization.py .. [ 24%]
tests/unit/tf/blocks/retrieval/test_two_tower.py ........... [ 26%]
tests/unit/tf/blocks/sampling/test_cross_batch.py . [ 26%]
tests/unit/tf/blocks/sampling/test_in_batch.py . [ 26%]
tests/unit/tf/core/test_aggregation.py ......... [ 27%]
tests/unit/tf/core/test_base.py .. [ 28%]
tests/unit/tf/core/test_combinators.py s................... [ 31%]
tests/unit/tf/core/test_index.py ... [ 31%]
tests/unit/tf/core/test_prediction.py .. [ 31%]
tests/unit/tf/core/test_tabular.py .... [ 32%]
tests/unit/tf/core/test_transformations.py s............................ [ 36%]
... [ 37%]
tests/unit/tf/data_augmentation/test_misc.py . [ 37%]
tests/unit/tf/data_augmentation/test_negative_sampling.py .......... [ 39%]
tests/unit/tf/data_augmentation/test_noise.py ..... [ 39%]
tests/unit/tf/examples/test_01_getting_started.py . [ 40%]
tests/unit/tf/examples/test_02_dataschema.py . [ 40%]
tests/unit/tf/examples/test_03_exploring_different_models.py . [ 40%]
tests/unit/tf/examples/test_04_export_ranking_models.py . [ 40%]
tests/unit/tf/examples/test_05_export_retrieval_model.py . [ 40%]
tests/unit/tf/examples/test_06_advanced_own_architecture.py . [ 40%]
tests/unit/tf/examples/test_07_train_traditional_models.py . [ 40%]
tests/unit/tf/examples/test_usecase_pretrained_embeddings.py . [ 41%]
tests/unit/tf/inputs/test_continuous.py ..... [ 41%]
tests/unit/tf/inputs/test_embedding.py ................................. [ 46%]
.. [ 47%]
tests/unit/tf/inputs/test_tabular.py .................. [ 49%]
tests/unit/tf/layers/test_queue.py .............. [ 51%]
tests/unit/tf/losses/test_losses.py ....................... [ 55%]
tests/unit/tf/metrics/test_metrics_popularity.py ..... [ 56%]
tests/unit/tf/metrics/test_metrics_topk.py ....................... [ 59%]
tests/unit/tf/models/test_base.py s................. [ 62%]
tests/unit/tf/models/test_benchmark.py .. [ 62%]
tests/unit/tf/models/test_ranking.py .......................... [ 66%]
tests/unit/tf/models/test_retrieval.py ................................. [ 71%]
. [ 71%]
tests/unit/tf/prediction_tasks/test_classification.py .. [ 72%]
tests/unit/tf/prediction_tasks/test_multi_task.py ................ [ 74%]
tests/unit/tf/prediction_tasks/test_next_item.py ..... [ 75%]
tests/unit/tf/prediction_tasks/test_regression.py .. [ 75%]
tests/unit/tf/prediction_tasks/test_retrieval.py . [ 75%]
tests/unit/tf/prediction_tasks/test_sampling.py ...... [ 76%]
tests/unit/tf/predictions/test_base.py ..... [ 77%]
tests/unit/tf/predictions/test_classification.py ....... [ 78%]
tests/unit/tf/predictions/test_dot_product.py ........ [ 79%]
tests/unit/tf/predictions/test_regression.py .. [ 80%]
tests/unit/tf/predictions/test_sampling.py .... [ 80%]
tests/unit/tf/utils/test_batch.py .... [ 81%]
tests/unit/tf/utils/test_tf_utils.py ..... [ 81%]
tests/unit/torch/test_dataset.py ......... [ 83%]
tests/unit/torch/test_public_api.py . [ 83%]
tests/unit/torch/block/test_base.py .... [ 84%]
tests/unit/torch/block/test_mlp.py . [ 84%]
tests/unit/torch/features/test_continuous.py .. [ 84%]
tests/unit/torch/features/test_embedding.py .............. [ 86%]
tests/unit/torch/features/test_tabular.py .... [ 87%]
tests/unit/torch/model/test_head.py ............ [ 89%]
tests/unit/torch/model/test_model.py .. [ 89%]
tests/unit/torch/tabular/test_aggregation.py ........ [ 90%]
tests/unit/torch/tabular/test_tabular.py ... [ 91%]
tests/unit/torch/tabular/test_transformations.py ....... [ 92%]
tests/unit/utils/test_schema_utils.py ................................ [ 96%]
tests/unit/xgb/test_xgboost.py .................... [100%]

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

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

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

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

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

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

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

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

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

tests/unit/tf/core/test_index.py: 4 warnings
tests/unit/tf/models/test_retrieval.py: 56 warnings
tests/unit/tf/prediction_tasks/test_next_item.py: 3 warnings
tests/unit/tf/predictions/test_classification.py: 12 warnings
tests/unit/tf/predictions/test_dot_product.py: 2 warnings
tests/unit/tf/utils/test_batch.py: 2 warnings
/tmp/autograph_generated_file5cjlqazs.py:8: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
ag
.converted_call(ag__.ld(warnings).warn, ("The 'warn' method is deprecated, use 'warning' instead", ag__.ld(DeprecationWarning), 2), None, fscope)

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

tests/unit/tf/models/test_base.py::test_freeze_parallel_block[True]
tests/unit/tf/models/test_base.py::test_freeze_sequential_block
tests/unit/tf/models/test_base.py::test_freeze_unfreeze
tests/unit/tf/models/test_base.py::test_unfreeze_all_blocks
/usr/local/lib/python3.8/dist-packages/keras/optimizers/optimizer_v2/gradient_descent.py:108: UserWarning: The lr argument is deprecated, use learning_rate instead.
super(SGD, self).init(name, **kwargs)

tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[True]
tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/var/jenkins_home/workspace/merlin_models/models/merlin/models/tf/core/transformations.py:835: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
warnings.warn(

tests/unit/tf/models/test_ranking.py::test_wide_deep_embedding_custom_inputblock[False]
/usr/local/lib/python3.8/dist-packages/tensorflow/python/autograph/impl/api.py:371: UserWarning: Please make sure input features to be categorical, detect user_age has no categorical tag
return py_builtins.overload_of(f)(*args)

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

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

tests/unit/xgb/test_xgboost.py::TestXGBoost::test_unsupported_objective
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] tests/unit/datasets/test_advertising.py:20: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:62: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:78: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [1] tests/unit/datasets/test_ecommerce.py:92: ALI-CCP data is not available, pass it through env variable $DATA_PATH_ALICCP
SKIPPED [3] tests/unit/datasets/test_entertainment.py:44: No data-dir available, pass it through env variable $INPUT_DATA_DIR
SKIPPED [4] ../../../../../usr/local/lib/python3.8/dist-packages/tensorflow/python/framework/test_util.py:2746: Not a test.
========== 649 passed, 11 skipped, 123 warnings in 909.85s (0:15:09) ===========
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/models/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[merlin_models] $ /bin/bash /tmp/jenkins1179837162709642448.sh

@github-actions
Copy link

Documentation preview

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

@viswa-nvidia viswa-nvidia added this to the Merlin 22.09 milestone Aug 19, 2022
_ = model.fit(ecommerce_data, batch_size=50, epochs=5, steps_per_epoch=1)

recommender = model.to_item_recommender(dataset=ecommerce_data, batch_size=50, k=10)
recommender.compile(run_eagerly=run_eagerly, optimizer="adam")
Copy link
Member

Choose a reason for hiding this comment

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

Do we need to set the optimizer of item_recommender if it is just to be used for evaluation and prediction?

def batch_predict(
self, dataset: merlin.io.Dataset, batch_size: int, top_k=1, **kwargs
) -> merlin.io.Dataset:
pass
Copy link
Member

Choose a reason for hiding this comment

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

Should raise NotImplementedError()

@rnyak
Copy link
Contributor

rnyak commented Sep 13, 2022

we can close it since there will be a new PR for top_k_recommender via #718

@rnyak rnyak closed this Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task] Simplify Top-k recommender API
5 participants