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

(WIP) Switch ragged multi-hot columns with two Triton arrays to a single ColumnSchema #173

Closed
wants to merge 3 commits into from

Conversation

karlhigley
Copy link
Contributor

@karlhigley karlhigley commented Aug 16, 2022

Depends on #170.

This PR aims to clarify how ragged multi-hot columns that are stored in values/offsets format relate to Merlin schemas. Since the two arrays are a detail of the storage format and form one "logical" column together, this PR aims to standardize on a single ColumnSchema. This will work better with the graph construction code, so that the user-facing API only involves a schema for col_name and doesn't rely on knowing about col_name_1 and col_name_2.

Operators that need updates:

  • QueryFeast
  • PredictTensorflow
  • FilterCandidates?

@karlhigley karlhigley added bug Something isn't working clean up labels Aug 16, 2022
@karlhigley karlhigley added this to the Merlin 22.09 milestone Aug 16, 2022
@karlhigley karlhigley self-assigned this Aug 16, 2022
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #173 of commit 4d0a56dc6c9fa8d2368e4765b39ab97cfe5e5abb, no merge conflicts.
Running as SYSTEM
Setting status of 4d0a56dc6c9fa8d2368e4765b39ab97cfe5e5abb to PENDING with url https://10.20.13.93:8080/job/merlin_systems/290/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_systems
using credential fce1c729-5d7c-48e8-90cb-b0c314b1076e
 > 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/systems # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/systems
 > git --version # timeout=10
using GIT_ASKPASS to set credentials login for merlin-systems user + githubtoken
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/systems +refs/pull/173/*:refs/remotes/origin/pr/173/* # timeout=10
 > git rev-parse 4d0a56dc6c9fa8d2368e4765b39ab97cfe5e5abb^{commit} # timeout=10
Checking out Revision 4d0a56dc6c9fa8d2368e4765b39ab97cfe5e5abb (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 4d0a56dc6c9fa8d2368e4765b39ab97cfe5e5abb # timeout=10
Commit message: "Make Feast multi-hot outputs have a single `ColumnSchema`"
 > git rev-list --no-walk abb2fd12b59e6153e1044b04ff34917131b2cae5 # timeout=10
[merlin_systems] $ /bin/bash /tmp/jenkins9099401084282130726.sh
PYTHONPATH=:/usr/local/lib/python3.8/dist-packages/:/usr/local/hugectr/lib:/var/jenkins_home/workspace/merlin_systems/systems
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_systems/systems, configfile: pyproject.toml
plugins: anyio-3.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 68 items

tests/unit/test_version.py . [ 1%]
tests/unit/examples/test_serving_an_xgboost_model_with_merlin_systems.py . [ 2%]
[ 2%]
tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py . [ 4%]
[ 4%]
tests/unit/systems/test_export.py . [ 5%]
tests/unit/systems/dag/test_graph.py .. [ 8%]
tests/unit/systems/dag/test_model_registry.py .. [ 11%]
tests/unit/systems/dag/test_op_runner.py .... [ 17%]
tests/unit/systems/dag/ops/test_ops.py .. [ 20%]
tests/unit/systems/feast/test_feast.py ..... [ 27%]
tests/unit/systems/fil/test_ensemble.py . [ 29%]
tests/unit/systems/fil/test_fil.py .......................... [ 67%]
tests/unit/systems/fil/test_forest.py .... [ 73%]
tests/unit/systems/implicit/test_implicit.py ...... [ 82%]
tests/unit/systems/nvtabular/test_workflow_op.py .. [ 85%]
tests/unit/systems/tf/test_ensemble.py .. [ 88%]
tests/unit/systems/tf/test_tf_op.py .... [ 94%]
tests/unit/systems/torch/test_torch.py .... [100%]

=============================== warnings summary ===============================
../../../../../usr/local/lib/python3.8/dist-packages/nvtabular/framework_utils/init.py:18
/usr/local/lib/python3.8/dist-packages/nvtabular/framework_utils/init.py:18: DeprecationWarning: The nvtabular.framework_utils module is being replaced by the Merlin Models library. Support for importing from nvtabular.framework_utils is deprecated, and will be removed in a future version. Please consider using the models and layers from Merlin Models instead.
warnings.warn(

tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py: 1 warning
tests/unit/systems/test_export.py: 1 warning
tests/unit/systems/dag/test_op_runner.py: 4 warnings
tests/unit/systems/nvtabular/test_workflow_op.py: 2 warnings
tests/unit/systems/tf/test_ensemble.py: 2 warnings
/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/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column x is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column y is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column id is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/fil/test_fil.py::test_binary_classifier_default[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_binary_classifier_with_proba[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_multi_classifier[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_regressor[sklearn_forest_regressor-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_model_file[sklearn_forest_regressor-checkpoint.tl]
/usr/local/lib/python3.8/dist-packages/sklearn/utils/deprecation.py:103: FutureWarning: Attribute n_features_ was deprecated in version 1.0 and will be removed in 1.2. Use n_features_in_ instead.
warnings.warn(msg, category=FutureWarning)

tests/unit/systems/fil/test_forest.py::test_export_merlin_models
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()

tests/unit/systems/implicit/test_implicit.py::test_reload_from_config[AlternatingLeastSquares]
/usr/local/lib/python3.8/dist-packages/implicit/utils.py:28: UserWarning: OpenBLAS detected. Its highly recommend to set the environment variable 'export OPENBLAS_NUM_THREADS=1' to disable its internal multithreading
warnings.warn(

tests/unit/systems/torch/test_torch.py::test_pytorch_op_serving[True-True]
/usr/local/lib/python3.8/dist-packages/torch/serialization.py:707: UserWarning: 'torch.load' received a zip file that looks like a TorchScript archive dispatching to 'torch.jit.load' (call 'torch.jit.load' directly to silence this warning)
warnings.warn("'torch.load' received a zip file that looks like a TorchScript archive"

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================= 68 passed, 22 warnings in 313.67s (0:05:13) ==================
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/systems/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[merlin_systems] $ /bin/bash /tmp/jenkins4127128964423381044.sh

@github-actions
Copy link

Documentation preview

https://nvidia-merlin.github.io/systems/review/pr-173

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #173 of commit f20c01faebd201df31a653ea6178b09d299613c3, no merge conflicts.
Running as SYSTEM
Setting status of f20c01faebd201df31a653ea6178b09d299613c3 to PENDING with url https://10.20.13.93:8080/job/merlin_systems/296/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_systems
using credential fce1c729-5d7c-48e8-90cb-b0c314b1076e
 > 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/systems # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/systems
 > git --version # timeout=10
using GIT_ASKPASS to set credentials login for merlin-systems user + githubtoken
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/systems +refs/pull/173/*:refs/remotes/origin/pr/173/* # timeout=10
 > git rev-parse f20c01faebd201df31a653ea6178b09d299613c3^{commit} # timeout=10
Checking out Revision f20c01faebd201df31a653ea6178b09d299613c3 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f f20c01faebd201df31a653ea6178b09d299613c3 # timeout=10
Commit message: "(WIP) Find multi-hots via column suffixes"
 > git rev-list --no-walk bfc1c6d4c8654a79d769ecae8168cb0eafb10745 # timeout=10
[merlin_systems] $ /bin/bash /tmp/jenkins17946214776895484844.sh
PYTHONPATH=:/usr/local/lib/python3.8/dist-packages/:/usr/local/hugectr/lib:/var/jenkins_home/workspace/merlin_systems/systems
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_systems/systems, configfile: pyproject.toml
plugins: anyio-3.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 69 items

tests/unit/test_version.py . [ 1%]
tests/unit/examples/test_serving_an_xgboost_model_with_merlin_systems.py . [ 2%]
[ 2%]
tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py F [ 4%]
[ 4%]
tests/unit/systems/test_export.py . [ 5%]
tests/unit/systems/dag/test_graph.py .. [ 8%]
tests/unit/systems/dag/test_model_registry.py .. [ 11%]
tests/unit/systems/dag/test_op_runner.py .... [ 17%]
tests/unit/systems/dag/ops/test_ops.py .. [ 20%]
tests/unit/systems/feast/test_feast.py ..... [ 27%]
tests/unit/systems/fil/test_ensemble.py . [ 28%]
tests/unit/systems/fil/test_fil.py .......................... [ 66%]
tests/unit/systems/fil/test_forest.py .... [ 72%]
tests/unit/systems/implicit/test_implicit.py ...... [ 81%]
tests/unit/systems/nvtabular/test_workflow_op.py .. [ 84%]
tests/unit/systems/tf/test_ensemble.py FF [ 86%]
tests/unit/systems/tf/test_tf_op.py FFFFF [ 94%]
tests/unit/systems/torch/test_torch.py .... [100%]

=================================== FAILURES ===================================
___________________ test_example_04_exporting_ranking_models ___________________

self = <testbook.client.TestbookNotebookClient object at 0x7efc22af92e0>
cell = {'cell_type': 'markdown', 'id': '53908458', 'metadata': {'tags': []}, 'source': '## Create the Ensemble Graph\n\nAfter...\n

This operator will do something similar with the model, loaded before.
\n\n\nLet's give it a try.'}
kwargs = {}, cell_indexes = [0, 1, 2, 3, 4, 5, ...]
executed_cells = [{'cell_type': 'code', 'execution_count': 2, 'id': '620dd990', 'metadata': {'execution': {'iopub.status.busy': '2022-0...\nworkflow_stored_path = os.path.join(input_path, "workflow")\n\nworkflow = Workflow.load(workflow_stored_path)'}, ...]
idx = 13

def execute_cell(self, cell, **kwargs) -> Union[Dict, List[Dict]]:
    """
    Executes a cell or list of cells
    """
    if isinstance(cell, slice):
        start, stop = self._cell_index(cell.start), self._cell_index(cell.stop)
        if cell.step is not None:
            raise TestbookError('testbook does not support step argument')

        cell = range(start, stop + 1)
    elif isinstance(cell, str) or isinstance(cell, int):
        cell = [cell]

    cell_indexes = cell

    if all(isinstance(x, str) for x in cell):
        cell_indexes = [self._cell_index(tag) for tag in cell]

    executed_cells = []
    for idx in cell_indexes:
        try:
          cell = super().execute_cell(self.nb['cells'][idx], idx, **kwargs)

/usr/local/lib/python3.8/dist-packages/testbook/client.py:133:


args = (<testbook.client.TestbookNotebookClient object at 0x7efc22af92e0>, {'cell_type': 'code', 'execution_count': 8, 'id': ...erving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)'}, 13)
kwargs = {}

def wrapped(*args, **kwargs):
  return just_run(coro(*args, **kwargs))

/usr/local/lib/python3.8/dist-packages/nbclient/util.py:85:


coro = <coroutine object NotebookClient.async_execute_cell at 0x7efb2c6f86c0>

def just_run(coro: Awaitable) -> Any:
    """Make the coroutine run, even if there is an event loop running (using nest_asyncio)"""
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = None
    if loop is None:
        had_running_loop = False
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
    else:
        had_running_loop = True
    if had_running_loop:
        # if there is a running loop, we patch using nest_asyncio
        # to have reentrant event loops
        check_ipython()
        import nest_asyncio

        nest_asyncio.apply()
        check_patch_tornado()
  return loop.run_until_complete(coro)

/usr/local/lib/python3.8/dist-packages/nbclient/util.py:60:


self = <_UnixSelectorEventLoop running=False closed=False debug=False>
future = <Task finished name='Task-106' coro=<NotebookClient.async_execute_cell() done, defined at /usr/local/lib/python3.8/dis...Error\x1b[0m: 'list' object has no attribute 'join'\nAttributeError: 'list' object has no attribute 'join'\n')>

def run_until_complete(self, future):
    """Run until the Future is done.

    If the argument is a coroutine, it is wrapped in a Task.

    WARNING: It would be disastrous to call run_until_complete()
    with the same coroutine twice -- it would wrap it in two
    different Tasks and that can't be good.

    Return the Future's result, or raise its exception.
    """
    self._check_closed()
    self._check_running()

    new_task = not futures.isfuture(future)
    future = tasks.ensure_future(future, loop=self)
    if new_task:
        # An exception is raised if the future didn't complete, so there
        # is no need to log the "destroy pending task" message
        future._log_destroy_pending = False

    future.add_done_callback(_run_until_complete_cb)
    try:
        self.run_forever()
    except:
        if new_task and future.done() and not future.cancelled():
            # The coroutine raised a BaseException. Consume the exception
            # to not log a warning, the caller doesn't have access to the
            # local task.
            future.exception()
        raise
    finally:
        future.remove_done_callback(_run_until_complete_cb)
    if not future.done():
        raise RuntimeError('Event loop stopped before Future completed.')
  return future.result()

/usr/lib/python3.8/asyncio/base_events.py:616:


self = <testbook.client.TestbookNotebookClient object at 0x7efc22af92e0>
cell = {'cell_type': 'code', 'execution_count': 8, 'id': 'f80e5cc8', 'metadata': {'execution': {'iopub.status.busy': '2022-08...\n\nserving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)'}
cell_index = 13, execution_count = None, store_history = True

async def async_execute_cell(
    self,
    cell: NotebookNode,
    cell_index: int,
    execution_count: t.Optional[int] = None,
    store_history: bool = True,
) -> NotebookNode:
    """
    Executes a single code cell.

    To execute all cells see :meth:`execute`.

    Parameters
    ----------
    cell : nbformat.NotebookNode
        The cell which is currently being processed.
    cell_index : int
        The position of the cell within the notebook object.
    execution_count : int
        The execution count to be assigned to the cell (default: Use kernel response)
    store_history : bool
        Determines if history should be stored in the kernel (default: False).
        Specific to ipython kernels, which can store command histories.

    Returns
    -------
    output : dict
        The execution output payload (or None for no output).

    Raises
    ------
    CellExecutionError
        If execution failed and should raise an exception, this will be raised
        with defaults about the failure.

    Returns
    -------
    cell : NotebookNode
        The cell which was just processed.
    """
    assert self.kc is not None

    await run_hook(self.on_cell_start, cell=cell, cell_index=cell_index)

    if cell.cell_type != 'code' or not cell.source.strip():
        self.log.debug("Skipping non-executing cell %s", cell_index)
        return cell

    if self.skip_cells_with_tag in cell.metadata.get("tags", []):
        self.log.debug("Skipping tagged cell %s", cell_index)
        return cell

    if self.record_timing:  # clear execution metadata prior to execution
        cell['metadata']['execution'] = {}

    self.log.debug("Executing cell:\n%s", cell.source)

    cell_allows_errors = (not self.force_raise_errors) and (
        self.allow_errors or "raises-exception" in cell.metadata.get("tags", [])
    )

    await run_hook(self.on_cell_execute, cell=cell, cell_index=cell_index)
    parent_msg_id = await ensure_async(
        self.kc.execute(
            cell.source, store_history=store_history, stop_on_error=not cell_allows_errors
        )
    )
    await run_hook(self.on_cell_complete, cell=cell, cell_index=cell_index)
    # We launched a code cell to execute
    self.code_cells_executed += 1
    exec_timeout = self._get_timeout(cell)

    cell.outputs = []
    self.clear_before_next_output = False

    task_poll_kernel_alive = asyncio.ensure_future(self._async_poll_kernel_alive())
    task_poll_output_msg = asyncio.ensure_future(
        self._async_poll_output_msg(parent_msg_id, cell, cell_index)
    )
    self.task_poll_for_reply = asyncio.ensure_future(
        self._async_poll_for_reply(
            parent_msg_id, cell, exec_timeout, task_poll_output_msg, task_poll_kernel_alive
        )
    )
    try:
        exec_reply = await self.task_poll_for_reply
    except asyncio.CancelledError:
        # can only be cancelled by task_poll_kernel_alive when the kernel is dead
        task_poll_output_msg.cancel()
        raise DeadKernelError("Kernel died")
    except Exception as e:
        # Best effort to cancel request if it hasn't been resolved
        try:
            # Check if the task_poll_output is doing the raising for us
            if not isinstance(e, CellControlSignal):
                task_poll_output_msg.cancel()
        finally:
            raise

    if execution_count:
        cell['execution_count'] = execution_count
    await run_hook(
        self.on_cell_executed, cell=cell, cell_index=cell_index, execute_reply=exec_reply
    )
  await self._check_raise_for_error(cell, cell_index, exec_reply)

/usr/local/lib/python3.8/dist-packages/nbclient/client.py:1025:


self = <testbook.client.TestbookNotebookClient object at 0x7efc22af92e0>
cell = {'cell_type': 'code', 'execution_count': 8, 'id': 'f80e5cc8', 'metadata': {'execution': {'iopub.status.busy': '2022-08...\n\nserving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)'}
cell_index = 13
exec_reply = {'buffers': [], 'content': {'ename': 'AttributeError', 'engine_info': {'engine_id': -1, 'engine_uuid': '999fd15d-031c-...e, 'engine': '999fd15d-031c-4750-ab3b-904bff4aa9ef', 'started': '2022-08-17T15:01:55.323843Z', 'status': 'error'}, ...}

async def _check_raise_for_error(
    self, cell: NotebookNode, cell_index: int, exec_reply: t.Optional[t.Dict]
) -> None:

    if exec_reply is None:
        return None

    exec_reply_content = exec_reply['content']
    if exec_reply_content['status'] != 'error':
        return None

    cell_allows_errors = (not self.force_raise_errors) and (
        self.allow_errors
        or exec_reply_content.get('ename') in self.allow_error_names
        or "raises-exception" in cell.metadata.get("tags", [])
    )
    await run_hook(
        self.on_cell_error, cell=cell, cell_index=cell_index, execute_reply=exec_reply
    )
    if not cell_allows_errors:
      raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)

E nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:
E ------------------
E from merlin.systems.dag.ops.workflow import TransformWorkflow
E from merlin.systems.dag.ops.tensorflow import PredictTensorflow
E
E serving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)
E ------------------
E
E �[0;31m---------------------------------------------------------------------------�[0m
E �[0;31mAttributeError�[0m Traceback (most recent call last)
E Input �[0;32mIn [8]�[0m, in �[0;36m<cell line: 4>�[0;34m()�[0m
E �[1;32m 1�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mworkflow�[39;00m �[38;5;28;01mimport�[39;00m TransformWorkflow
E �[1;32m 2�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mtensorflow�[39;00m �[38;5;28;01mimport�[39;00m PredictTensorflow
E �[0;32m----> 4�[0m serving_operators �[38;5;241m=�[39m workflow�[38;5;241m.�[39minput_schema�[38;5;241m.�[39mcolumn_names �[38;5;241m>>�[39m TransformWorkflow(workflow) �[38;5;241m>>�[39m �[43mPredictTensorflow�[49m�[43m(�[49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:62�[0m, in �[0;36mPredictTensorflow.__init__�[0;34m(self, model_or_path, custom_objects)�[0m
E �[1;32m 59�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mpath �[38;5;241m=�[39m �[38;5;28;01mNone�[39;00m
E �[1;32m 60�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mmodel �[38;5;241m=�[39m model_or_path
E �[0;32m---> 62�[0m �[38;5;28mself�[39m�[38;5;241m.�[39minput_schema, �[38;5;28mself�[39m�[38;5;241m.�[39moutput_schema �[38;5;241m=�[39m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_infer_schemas_from_model�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:158�[0m, in �[0;36mPredictTensorflow._infer_schemas_from_model�[0;34m(self, model)�[0m
E �[1;32m 156�[0m �[38;5;28;01mfor�[39;00m col_name, _ �[38;5;129;01min�[39;00m signature_inputs�[38;5;241m.�[39mitems():
E �[1;32m 157�[0m elements �[38;5;241m=�[39m col_name�[38;5;241m.�[39msplit(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[0;32m--> 158�[0m stem �[38;5;241m=�[39m �[43melements�[49m�[43m[�[49m�[43m:�[49m�[38;5;241;43m-�[39;49m�[38;5;241;43m1�[39;49m�[43m]�[49m�[38;5;241;43m.�[39;49m�[43mjoin�[49m(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[1;32m 159�[0m suffix �[38;5;241m=�[39m elements[�[38;5;241m-�[39m�[38;5;241m1�[39m]
E �[1;32m 160�[0m col_suffixes[stem] �[38;5;241m|�[39m�[38;5;241m=�[39m {suffix}
E
E �[0;31mAttributeError�[0m: 'list' object has no attribute 'join'
E AttributeError: 'list' object has no attribute 'join'

/usr/local/lib/python3.8/dist-packages/nbclient/client.py:919: CellExecutionError

During handling of the above exception, another exception occurred:

tb = <testbook.client.TestbookNotebookClient object at 0x7efc22af92e0>

@testbook(REPO_ROOT / "examples/Serving-Ranking-Models-With-Merlin-Systems.ipynb", execute=False)
def test_example_04_exporting_ranking_models(tb):
    import tensorflow as tf

    import merlin.models.tf as mm
    import nvtabular as nvt
    from merlin.datasets.synthetic import generate_data
    from merlin.io.dataset import Dataset
    from merlin.schema.tags import Tags

    DATA_FOLDER = "/tmp/data/"
    NUM_ROWS = 1000000
    BATCH_SIZE = 512
    train, valid = generate_data("aliccp-raw", int(NUM_ROWS), set_sizes=(0.7, 0.3))
    train.to_ddf().to_parquet(os.path.join(DATA_FOLDER, "train"))
    valid.to_ddf().to_parquet(os.path.join(DATA_FOLDER, "valid"))
    train_path = os.path.join(DATA_FOLDER, "train", "*.parquet")
    valid_path = os.path.join(DATA_FOLDER, "valid", "*.parquet")
    output_path = os.path.join(DATA_FOLDER, "processed")
    user_id = ["user_id"] >> nvt.ops.Categorify() >> nvt.ops.TagAsUserID()
    item_id = ["item_id"] >> nvt.ops.Categorify() >> nvt.ops.TagAsItemID()
    targets = ["click"] >> nvt.ops.AddMetadata(tags=[Tags.BINARY_CLASSIFICATION, "target"])
    item_features = (
        ["item_category", "item_shop", "item_brand"]
        >> nvt.ops.Categorify()
        >> nvt.ops.TagAsItemFeatures()
    )
    user_features = (
        [
            "user_shops",
            "user_profile",
            "user_group",
            "user_gender",
            "user_age",
            "user_consumption_2",
            "user_is_occupied",
            "user_geography",
            "user_intentions",
            "user_brands",
            "user_categories",
        ]
        >> nvt.ops.Categorify()
        >> nvt.ops.TagAsUserFeatures()
    )
    outputs = user_id + item_id + item_features + user_features + targets
    workflow = nvt.Workflow(outputs)
    train_dataset = nvt.Dataset(train_path)
    valid_dataset = nvt.Dataset(valid_path)
    workflow.fit(train_dataset)
    workflow.transform(train_dataset).to_parquet(output_path=output_path + "/train/")
    workflow.transform(valid_dataset).to_parquet(output_path=output_path + "/valid/")
    workflow.save("/tmp/data/workflow")
    train = Dataset(os.path.join(output_path, "train", "*.parquet"))
    valid = Dataset(os.path.join(output_path, "valid", "*.parquet"))
    schema = train.schema
    target_column = schema.select_by_tag(Tags.TARGET).column_names[0]
    model = mm.DLRMModel(
        schema,
        embedding_dim=64,
        bottom_block=mm.MLPBlock([128, 64]),
        top_block=mm.MLPBlock([128, 64, 32]),
        prediction_tasks=mm.BinaryClassificationTask(target_column),
    )
    model.compile("adam", run_eagerly=False, metrics=[tf.keras.metrics.AUC()])
    model.fit(train, validation_data=valid, batch_size=BATCH_SIZE)
    model.save("/tmp/data/dlrm")
    tb.inject(
        """
        import os
        os.environ["INPUT_FOLDER"] = "/tmp/data/"
        """
    )
    NUM_OF_CELLS = len(tb.cells)
  tb.execute_cell(list(range(0, NUM_OF_CELLS - 12)))

tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py:85:


self = <testbook.client.TestbookNotebookClient object at 0x7efc22af92e0>
cell = {'cell_type': 'markdown', 'id': '53908458', 'metadata': {'tags': []}, 'source': '## Create the Ensemble Graph\n\nAfter...\n

This operator will do something similar with the model, loaded before.
\n\n\nLet's give it a try.'}
kwargs = {}, cell_indexes = [0, 1, 2, 3, 4, 5, ...]
executed_cells = [{'cell_type': 'code', 'execution_count': 2, 'id': '620dd990', 'metadata': {'execution': {'iopub.status.busy': '2022-0...\nworkflow_stored_path = os.path.join(input_path, "workflow")\n\nworkflow = Workflow.load(workflow_stored_path)'}, ...]
idx = 13

def execute_cell(self, cell, **kwargs) -> Union[Dict, List[Dict]]:
    """
    Executes a cell or list of cells
    """
    if isinstance(cell, slice):
        start, stop = self._cell_index(cell.start), self._cell_index(cell.stop)
        if cell.step is not None:
            raise TestbookError('testbook does not support step argument')

        cell = range(start, stop + 1)
    elif isinstance(cell, str) or isinstance(cell, int):
        cell = [cell]

    cell_indexes = cell

    if all(isinstance(x, str) for x in cell):
        cell_indexes = [self._cell_index(tag) for tag in cell]

    executed_cells = []
    for idx in cell_indexes:
        try:
            cell = super().execute_cell(self.nb['cells'][idx], idx, **kwargs)
        except CellExecutionError as ce:
          raise TestbookRuntimeError(ce.evalue, ce, self._get_error_class(ce.ename))

E testbook.exceptions.TestbookRuntimeError: An error occurred while executing the following cell:
E ------------------
E from merlin.systems.dag.ops.workflow import TransformWorkflow
E from merlin.systems.dag.ops.tensorflow import PredictTensorflow
E
E serving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)
E ------------------
E
E �[0;31m---------------------------------------------------------------------------�[0m
E �[0;31mAttributeError�[0m Traceback (most recent call last)
E Input �[0;32mIn [8]�[0m, in �[0;36m<cell line: 4>�[0;34m()�[0m
E �[1;32m 1�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mworkflow�[39;00m �[38;5;28;01mimport�[39;00m TransformWorkflow
E �[1;32m 2�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mtensorflow�[39;00m �[38;5;28;01mimport�[39;00m PredictTensorflow
E �[0;32m----> 4�[0m serving_operators �[38;5;241m=�[39m workflow�[38;5;241m.�[39minput_schema�[38;5;241m.�[39mcolumn_names �[38;5;241m>>�[39m TransformWorkflow(workflow) �[38;5;241m>>�[39m �[43mPredictTensorflow�[49m�[43m(�[49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:62�[0m, in �[0;36mPredictTensorflow.__init__�[0;34m(self, model_or_path, custom_objects)�[0m
E �[1;32m 59�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mpath �[38;5;241m=�[39m �[38;5;28;01mNone�[39;00m
E �[1;32m 60�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mmodel �[38;5;241m=�[39m model_or_path
E �[0;32m---> 62�[0m �[38;5;28mself�[39m�[38;5;241m.�[39minput_schema, �[38;5;28mself�[39m�[38;5;241m.�[39moutput_schema �[38;5;241m=�[39m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_infer_schemas_from_model�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:158�[0m, in �[0;36mPredictTensorflow._infer_schemas_from_model�[0;34m(self, model)�[0m
E �[1;32m 156�[0m �[38;5;28;01mfor�[39;00m col_name, _ �[38;5;129;01min�[39;00m signature_inputs�[38;5;241m.�[39mitems():
E �[1;32m 157�[0m elements �[38;5;241m=�[39m col_name�[38;5;241m.�[39msplit(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[0;32m--> 158�[0m stem �[38;5;241m=�[39m �[43melements�[49m�[43m[�[49m�[43m:�[49m�[38;5;241;43m-�[39;49m�[38;5;241;43m1�[39;49m�[43m]�[49m�[38;5;241;43m.�[39;49m�[43mjoin�[49m(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[1;32m 159�[0m suffix �[38;5;241m=�[39m elements[�[38;5;241m-�[39m�[38;5;241m1�[39m]
E �[1;32m 160�[0m col_suffixes[stem] �[38;5;241m|�[39m�[38;5;241m=�[39m {suffix}
E
E �[0;31mAttributeError�[0m: 'list' object has no attribute 'join'
E AttributeError: 'list' object has no attribute 'join'

/usr/local/lib/python3.8/dist-packages/testbook/client.py:135: TestbookRuntimeError
----------------------------- Captured stdout call -----------------------------

1/1368 [..............................] - ETA: 1:49:09 - loss: 0.6926 - auc: 0.5625 - regularization_loss: 0.0000e+00������������������������������������������������������������������������������������������������������������������������
6/1368 [..............................] - ETA: 16s - loss: 0.6929 - auc: 0.5146 - regularization_loss: 0.0000e+00 ��������������������������������������������������������������������������������������������������������������������
11/1368 [..............................] - ETA: 16s - loss: 0.6932 - auc: 0.5037 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
16/1368 [..............................] - ETA: 16s - loss: 0.6931 - auc: 0.5132 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
20/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.5022 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
24/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.5008 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
29/1368 [..............................] - ETA: 16s - loss: 0.6934 - auc: 0.4976 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
34/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.4982 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
39/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.4976 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
44/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
49/1368 [>.............................] - ETA: 16s - loss: 0.6933 - auc: 0.4997 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
54/1368 [>.............................] - ETA: 15s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
59/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
64/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.5001 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
69/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
74/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
78/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.4979 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
83/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.4983 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
88/1368 [>.............................] - ETA: 15s - loss: 0.6933 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
93/1368 [=>............................] - ETA: 15s - loss: 0.6933 - auc: 0.4996 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
97/1368 [=>............................] - ETA: 15s - loss: 0.6933 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
102/1368 [=>............................] - ETA: 15s - loss: 0.6933 - auc: 0.5000 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
107/1368 [=>............................] - ETA: 15s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
112/1368 [=>............................] - ETA: 15s - loss: 0.6932 - auc: 0.5003 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
117/1368 [=>............................] - ETA: 14s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
122/1368 [=>............................] - ETA: 14s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
127/1368 [=>............................] - ETA: 14s - loss: 0.6932 - auc: 0.5001 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
131/1368 [=>............................] - ETA: 14s - loss: 0.6933 - auc: 0.4995 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
135/1368 [=>............................] - ETA: 14s - loss: 0.6933 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
140/1368 [==>...........................] - ETA: 14s - loss: 0.6933 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
145/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
149/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
154/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
159/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
164/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
169/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
174/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
179/1368 [==>...........................] - ETA: 14s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
183/1368 [===>..........................] - ETA: 14s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
188/1368 [===>..........................] - ETA: 14s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
193/1368 [===>..........................] - ETA: 14s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
198/1368 [===>..........................] - ETA: 14s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
202/1368 [===>..........................] - ETA: 14s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
207/1368 [===>..........................] - ETA: 13s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
212/1368 [===>..........................] - ETA: 13s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
216/1368 [===>..........................] - ETA: 13s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
221/1368 [===>..........................] - ETA: 13s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
225/1368 [===>..........................] - ETA: 13s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
230/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
235/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
240/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
245/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
250/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
255/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
259/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
264/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
269/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
273/1368 [====>.........................] - ETA: 13s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
278/1368 [=====>........................] - ETA: 13s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
283/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
288/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
292/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
297/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
301/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.5003 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
306/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.5004 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
310/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
315/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
320/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
325/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
330/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
335/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
340/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
345/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
350/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
355/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
360/1368 [======>.......................] - ETA: 12s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
365/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5013 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
370/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
375/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5014 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
380/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
385/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
390/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5014 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
395/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5013 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
400/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5013 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
404/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
409/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
414/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
419/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
424/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
429/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5013 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
434/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
439/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
444/1368 [========>.....................] - ETA: 11s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
449/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
453/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
458/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
463/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
468/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
473/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
478/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
483/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
488/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
493/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
498/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
503/1368 [==========>...................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
508/1368 [==========>...................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
513/1368 [==========>...................] - ETA: 10s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
518/1368 [==========>...................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
522/1368 [==========>...................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
527/1368 [==========>...................] - ETA: 10s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
531/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00 �������������������������������������������������������������������������������������������������������������������
536/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
540/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
545/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
550/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
555/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
559/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
564/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
569/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
574/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
579/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
584/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
588/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
593/1368 [============>.................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
598/1368 [============>.................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
602/1368 [============>.................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
607/1368 [============>.................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
612/1368 [============>.................] - ETA: 9s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
617/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
622/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
627/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
632/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
637/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
642/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
647/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
652/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
657/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
662/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
666/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
671/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
676/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
681/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
686/1368 [==============>...............] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
691/1368 [==============>...............] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
696/1368 [==============>...............] - ETA: 8s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
700/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
704/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
709/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
714/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
719/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
724/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
728/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
732/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
737/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
742/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
747/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
752/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
757/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
762/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
767/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
771/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
775/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
780/1368 [================>.............] - ETA: 7s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
785/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
790/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
795/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
800/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
805/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
809/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
814/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
819/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
824/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
829/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
834/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
839/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
844/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5013 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
848/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5013 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
853/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5012 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
857/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5011 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
862/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.5010 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
867/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
872/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
877/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
882/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
887/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
892/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
897/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
901/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
906/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
911/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
916/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
920/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
924/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
929/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
934/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
939/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
944/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
949/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
954/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
959/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
964/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
969/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
974/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
979/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
984/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
989/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
993/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
998/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1003/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1008/1368 [=====================>........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1012/1368 [=====================>........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1017/1368 [=====================>........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1022/1368 [=====================>........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1026/1368 [=====================>........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1031/1368 [=====================>........] - ETA: 4s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1036/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1041/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1046/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1051/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1055/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1060/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1065/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1070/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1074/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1079/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1084/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1088/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1093/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1097/1368 [=======================>......] - ETA: 3s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1102/1368 [=======================>......] - ETA: 3s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1107/1368 [=======================>......] - ETA: 3s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1112/1368 [=======================>......] - ETA: 3s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1117/1368 [=======================>......] - ETA: 3s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1121/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1126/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1130/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1135/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1140/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1145/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1150/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1154/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1159/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1164/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1168/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1173/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1177/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1182/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1186/1368 [=========================>....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1191/1368 [=========================>....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1195/1368 [=========================>....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1199/1368 [=========================>....] - ETA: 2s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1204/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1209/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1214/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1219/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1224/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1229/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1234/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1239/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1243/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1248/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1253/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1258/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1263/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1268/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1273/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1278/1368 [===========================>..] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1283/1368 [===========================>..] - ETA: 1s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1288/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1293/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1298/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1303/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1308/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1313/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1318/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1323/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1328/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1333/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1338/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1342/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1346/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1350/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1355/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1360/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1365/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1368/1368 [==============================] - 25s 15ms/step - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00 - val_loss: 0.6932 - val_auc: 0.5005 - val_regularization_loss: 0.0000e+00
----------------------------- Captured stderr call -----------------------------
2022-08-17 15:01:03.379193: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-08-17 15:01:05.438360: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1627 MB memory: -> device: 0, name: Tesla P100-DGXS-16GB, pci bus id: 0000:07:00.0, compute capability: 6.0
2022-08-17 15:01:05.439103: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 15129 MB memory: -> device: 1, name: Tesla P100-DGXS-16GB, pci bus id: 0000:08:00.0, compute capability: 6.0
2022-08-17 15:01:48.073408: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-08-17 15:01:50.126424: I tensorflow/core/common_runtime/gpu/gpu_process_state.cc:222] Using CUDA malloc Async allocator for GPU: 0
2022-08-17 15:01:50.126591: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1627 MB memory: -> device: 0, name: Tesla P100-DGXS-16GB, pci bus id: 0000:07:00.0, compute capability: 6.0
2022-08-17 15:01:50.127413: I tensorflow/core/common_runtime/gpu/gpu_process_state.cc:222] Using CUDA malloc Async allocator for GPU: 1
2022-08-17 15:01:50.127466: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 14508 MB memory: -> device: 1, name: Tesla P100-DGXS-16GB, pci bus id: 0000:08:00.0, compute capability: 6.0
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python3.8/logging/init.py", line 2127, in shutdown
h.close()
File "/usr/local/lib/python3.8/dist-packages/absl/logging/init.py", line 934, in close
self.stream.close()
File "/usr/local/lib/python3.8/dist-packages/ipykernel/iostream.py", line 438, in close
self.watch_fd_thread.join()
AttributeError: 'OutStream' object has no attribute 'watch_fd_thread'
------------------------------ Captured log call -------------------------------
WARNING absl:save.py:233 Found untraced functions such as model_context_layer_call_fn, model_context_layer_call_and_return_conditional_losses, output_layer_layer_call_fn, output_layer_layer_call_and_return_conditional_losses, prediction_layer_call_fn while saving (showing 5 of 70). These functions will not be directly callable after loading.
______________ test_workflow_tf_e2e_config_verification[parquet] _______________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-6/test_workflow_tf_e2e_config_ve0')
dataset = <merlin.io.dataset.Dataset object at 0x7efa6343c490>
engine = 'parquet'

@pytest.mark.skipif(not TRITON_SERVER_PATH, reason="triton server not found")
@pytest.mark.parametrize("engine", ["parquet"])
def test_workflow_tf_e2e_config_verification(tmpdir, dataset, engine):
    # Create a Workflow
    schema = dataset.schema
    for name in ["x", "y", "id"]:
        dataset.schema.column_schemas[name] = dataset.schema.column_schemas[name].with_tags(
            [Tags.USER]
        )
    selector = ColumnSelector(["x", "y", "id"])

    workflow_ops = selector >> wf_ops.Rename(postfix="_nvt")
    workflow = Workflow(workflow_ops["x_nvt"])
    workflow.fit(dataset)

    # Create Tensorflow Model
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="x_nvt", dtype=tf.float64, shape=(1,)),
            tf.keras.layers.Dense(16, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(1, name="output"),
        ]
    )
    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Creating Triton Ensemble
    triton_chain = (
      selector >> TransformWorkflow(workflow, cats=["x_nvt"]) >> PredictTensorflow(model)
    )

tests/unit/systems/tf/test_ensemble.py:86:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efa6355b460>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________________ test_workflow_tf_e2e_multi_op_run[parquet] __________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-6/test_workflow_tf_e2e_multi_op_0')
dataset = <merlin.io.dataset.Dataset object at 0x7efb61c7bb50>
engine = 'parquet'

@pytest.mark.skipif(not TRITON_SERVER_PATH, reason="triton server not found")
@pytest.mark.parametrize("engine", ["parquet"])
def test_workflow_tf_e2e_multi_op_run(tmpdir, dataset, engine):
    # Create a Workflow
    schema = dataset.schema
    for name in ["x", "y", "id"]:
        dataset.schema.column_schemas[name] = dataset.schema.column_schemas[name].with_tags(
            [Tags.USER]
        )

    workflow_ops = ["name-cat"] >> wf_ops.Categorify(cat_cache="host")
    workflow = Workflow(workflow_ops)
    workflow.fit(dataset)

    embedding_shapes_1 = wf_ops.get_embedding_sizes(workflow)

    cats = ["name-string"] >> wf_ops.Categorify(cat_cache="host")
    workflow_2 = Workflow(cats)
    workflow_2.fit(dataset)

    embedding_shapes = wf_ops.get_embedding_sizes(workflow_2)
    embedding_shapes_1.update(embedding_shapes)
    # Create Tensorflow Model
    model = create_tf_model(["name-cat", "name-string"], [], embedding_shapes_1)

    # Creating Triton Ensemble
    triton_chain_1 = ["name-cat"] >> TransformWorkflow(workflow)
    triton_chain_2 = ["name-string"] >> TransformWorkflow(workflow_2)
  triton_chain = (triton_chain_1 + triton_chain_2) >> PredictTensorflow(model)

tests/unit/systems/tf/test_ensemble.py:141:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efb61c3e0a0>
model = Functional(
(optimizer): SGD()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING absl:signature_serialization.py:146 Function _wrapped_model contains input name(s) name-cat, name-string with unsupported characters which will be renamed to name_cat, name_string in the SavedModel.
WARNING absl:save.py:133 DenseFeatures(
(feature_columns): List(
(0): EmbeddingColumn(categorical_column=IdentityCategoricalColumn(key='name-cat', number_buckets=27, default_value=None), dimension=16, combiner='mean', initializer=<tensorflow.python.ops.init_ops.TruncatedNormal object at 0x7efb61b89550>, ckpt_to_load_from=None, tensor_name_in_ckpt=None, max_norm=None, trainable=True, use_safe_embedding_lookup=True)
(1): EmbeddingColumn(categorical_column=IdentityCategoricalColumn(key='name-string', number_buckets=27, default_value=None), dimension=16, combiner='mean', initializer=<tensorflow.python.ops.init_ops.TruncatedNormal object at 0x7efb7c15f0d0>, ckpt_to_load_from=None, tensor_name_in_ckpt=None, max_norm=None, trainable=True, use_safe_embedding_lookup=True)
)
(embedding_tables): Dict(
(name-cat): <tf.Variable 'dense_features_1/name-cat/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[-0.06687801, 0.15697315, 0.13485634, -0.27636722, 0.16984937,
0.09116374, 0.12657401, -0.18055598, 0.14766401, -0.04098988,
-0.24086224, 0.17562422, -0.08551762, -0.46606374, 0.41666976,
0.2708102 ],
[-0.33246815, -0.03259745, 0.14261647, 0.244061 , -0.06615817,
0.2615467 , 0.29115674, 0.12839037, -0.10151848, 0.34535488,
-0.12269942, 0.01363297, 0.24188952, 0.04706245, -0.10749401,
0.24193095],
[ 0.10245176, 0.094698 , -0.20053202, -0.15359683, 0.23222537,
-0.24497783, 0.21124606, 0.03263655, 0.08897366, -0.12197728,
0.02519313, -0.0605487 , 0.15374991, 0.29905695, -0.11719283,
0.40648013],
[ 0.12740849, 0.05072968, 0.10807925, -0.03154865, -0.17181073,
0.0152052 , 0.27649334, 0.11205131, -0.4398108 , 0.27820206,
0.11689556, -0.07007796, 0.20634355, -0.11394371, 0.17078318,
-0.3581243 ],
[-0.3218107 , 0.09198514, -0.15994558, -0.338094 , -0.18187305,
0.0241571 , 0.01578297, 0.1261048 , 0.32401505, -0.20718512,
0.19892208, -0.3043738 , -0.03141814, -0.3037223 , -0.01001006,
-0.34375602],
[ 0.14179717, 0.00893818, -0.14079836, 0.18517895, 0.24997774,
-0.42068595, -0.3930699 , -0.0315279 , 0.12972263, -0.19243534,
-0.32475328, 0.11495266, -0.1984334 , 0.21748596, 0.04875034,
-0.11701371],
[-0.2225327 , 0.32316098, 0.18563873, -0.3447482 , 0.02337665,
-0.02970306, 0.38843712, 0.15422192, -0.19689023, 0.33162588,
0.21894532, 0.12792124, -0.11149679, -0.15780081, -0.01782363,
0.3056701 ],
[-0.06065008, -0.03023885, 0.24554117, -0.05400831, 0.1345467 ,
0.24691527, -0.18854736, 0.15383889, -0.20721936, 0.00276852,
-0.14434445, 0.41008314, -0.09534135, -0.31350282, -0.13394594,
0.04067347],
[-0.12377809, 0.10488696, 0.17501023, 0.02226608, -0.15004407,
0.03150492, 0.23954932, 0.24821654, -0.01301606, -0.08743318,
0.00274182, -0.08220214, 0.05687099, -0.06024526, -0.2074012 ,
-0.05134699],
[ 0.24282263, -0.4807549 , 0.05256163, -0.28113052, -0.09205715,
-0.14110652, 0.18105087, -0.12585402, -0.18647863, -0.33023152,
-0.15420309, 0.01904495, 0.01955628, 0.10924368, 0.04673145,
0.16804823],
[-0.2024973 , 0.05199805, 0.4130298 , -0.10945454, 0.2919142 ,
0.17731267, -0.3675194 , -0.02563749, 0.04138866, 0.33846006,
0.20846406, 0.12400512, 0.07867949, 0.08880118, 0.21355018,
-0.16764647],
[ 0.18419512, -0.01826548, 0.22872223, -0.1131421 , -0.37825203,
0.14307493, 0.1210006 , -0.2131754 , 0.21589378, 0.02237877,
0.14475301, -0.16484478, 0.1019745 , 0.31028938, 0.23642388,
-0.17505392],
[-0.12064622, 0.00118156, 0.05865923, 0.13998088, -0.04835566,
-0.29875737, 0.44005027, 0.1381813 , -0.16282924, 0.15908696,
-0.08274652, -0.15189216, -0.06640536, 0.04758754, 0.24011894,
-0.25901487],
[-0.16731235, 0.04529969, -0.20273745, 0.16062678, -0.25241277,
-0.05696942, -0.32367608, -0.21615076, -0.11658593, 0.11446347,
0.13889992, 0.40770003, -0.35847077, -0.2349938 , -0.17274688,
-0.15170227],
[ 0.08372737, -0.06195124, -0.20348951, 0.36773118, -0.0277026 ,
-0.13434723, -0.18745112, -0.15394624, -0.09285995, 0.07540671,
-0.3397644 , 0.41002175, -0.13259014, 0.29771078, -0.29288477,
-0.43416858],
[ 0.13837327, -0.12568744, 0.05265168, -0.28373525, -0.12829393,
0.2188633 , -0.26080975, 0.312138 , 0.2291818 , 0.25160518,
-0.23396645, 0.47702408, -0.24156111, 0.36700588, -0.11420761,
0.17045954],
[ 0.07198985, -0.23641707, -0.05918168, 0.03212028, 0.16970685,
0.37487042, -0.12580454, -0.14189626, -0.0195781 , -0.22659193,
-0.13798927, -0.11164163, 0.27256495, 0.02712692, 0.30123833,
-0.13323537],
[-0.06797264, -0.20648588, -0.23689227, 0.2245953 , 0.06643907,
0.03498618, -0.24840504, -0.0614747 , 0.26323423, -0.17655967,
0.12543567, -0.10079914, 0.03252189, -0.3356378 , 0.3230428 ,
0.24302249],
[-0.15755783, 0.2957477 , -0.1824555 , 0.16860524, 0.06524025,
0.00985464, -0.15323399, 0.06316991, -0.24130926, -0.01919975,
-0.08784222, -0.04757232, -0.2693311 , -0.11028012, 0.15522306,
0.22068374],
[-0.03320317, -0.1986694 , 0.24789335, -0.20169832, -0.23742546,
-0.23568726, 0.29243076, -0.20911407, 0.11071051, 0.27471465,
0.16362707, 0.19546966, 0.19769908, -0.16088167, -0.04924185,
0.00593862],
[-0.1481138 , 0.31845713, -0.00439745, 0.0814875 , -0.14104906,
-0.05985123, -0.2335092 , 0.08243226, -0.11936582, 0.4421754 ,
0.09290003, -0.19530556, -0.4749194 , 0.11919809, 0.1581817 ,
-0.03333323],
[-0.32714388, 0.02116153, 0.20685036, -0.18760075, -0.1629511 ,
-0.05843002, 0.09321861, -0.2597285 , -0.00794853, -0.41522598,
-0.28550383, 0.12016484, -0.24654908, -0.1910988 , 0.16609389,
0.17359446],
[ 0.13231985, -0.17706025, -0.16006717, 0.15293512, -0.15366578,
0.12589213, -0.2226296 , 0.31192002, 0.09295454, 0.16166873,
-0.05012323, -0.2871064 , -0.02983604, 0.16215105, -0.12948583,
0.24734314],
[ 0.22360574, -0.05426844, -0.02788786, -0.4840575 , 0.26335043,
-0.02446032, 0.06655949, 0.12160095, 0.18450499, 0.14210878,
0.10259218, -0.15094613, -0.12521683, -0.1251817 , -0.20778853,
0.2469511 ],
[-0.34324828, 0.46647656, -0.2043299 , 0.24658222, 0.42521283,
0.16161026, 0.24677563, -0.04348712, -0.17662981, 0.17999502,
-0.315132 , -0.30222058, -0.43954116, 0.01935531, -0.30051157,
-0.12216052],
[ 0.25793004, 0.3102875 , 0.12154787, -0.00796143, 0.274935 ,
-0.072341 , -0.00313485, -0.1276019 , -0.44657397, -0.09835323,
0.328989 , -0.29162672, -0.08720337, -0.16094653, -0.38389024,
0.14271623],
[-0.41651127, -0.04335038, 0.3220358 , -0.12114995, 0.2050394 ,
-0.39464557, -0.09288112, 0.23013301, 0.46069133, 0.02778143,
-0.16021022, -0.17960978, 0.10912719, 0.42310795, -0.03550638,
-0.40766296]], dtype=float32)>
(name-string): <tf.Variable 'dense_features_1/name-string/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[ 4.89110380e-01, -9.06445235e-02, 3.41926396e-01,
1.15185462e-01, 7.99236819e-02, -8.60821398e-04,
8.00331458e-02, 3.48885566e-01, -3.04463565e-01,
-2.10898910e-02, 4.58370030e-01, 1.01091310e-01,
3.05880368e-01, 2.80624330e-01, -3.09848845e-01,
3.38686645e-01],
[ 1.02111951e-01, 1.73408255e-01, 1.81634109e-02,
-1.00807242e-01, 3.82921100e-01, -1.94923997e-01,
1.33374766e-01, 2.48230219e-01, 3.36874694e-01,
-1.03833742e-01, 1.43456846e-01, 8.67795944e-02,
-3.27987820e-01, -2.56376624e-01, -3.19374502e-01,
1.86083168e-01],
[-3.41348201e-01, -4.33666945e-01, 3.34114641e-01,
-2.10620508e-01, 1.53262809e-01, 1.20779410e-01,
3.24421227e-01, -2.24491403e-01, 3.16846371e-01,
4.67346348e-02, 3.62729169e-02, 2.70192921e-01,
7.75310099e-02, -8.51200595e-02, -1.79920867e-01,
2.60424674e-01],
[ 2.31709838e-01, 2.86716044e-01, -1.97135642e-01,
-2.19637677e-01, 2.19714016e-01, 4.14133035e-02,
-3.23718414e-02, -4.42171782e-01, -3.39106433e-02,
-7.06855506e-02, 3.50155056e-01, -1.24487191e-01,
5.15920296e-02, 6.04369678e-02, -4.26713645e-01,
2.57647574e-01],
[-4.79114681e-01, 1.45273924e-01, 1.78854495e-01,
1.39982328e-01, -3.74815017e-01, 9.07240212e-02,
2.27282763e-01, -1.39608920e-01, -2.14748502e-01,
7.99059719e-02, -1.36118919e-01, -2.48971343e-01,
1.95168018e-01, -2.07449824e-01, -4.72407937e-01,
2.79238224e-01],
[-4.30340350e-01, -2.51394123e-01, 9.37442333e-02,
-6.14134222e-02, 2.74688900e-01, 2.75088903e-02,
-7.82100037e-02, 1.56775475e-01, -1.12053715e-01,
4.02120382e-01, -3.40169936e-01, -4.25569236e-01,
-3.89428400e-02, -1.62097305e-01, 6.56907409e-02,
-8.32272992e-02],
[ 2.44461402e-01, 1.49415463e-01, -4.56961542e-01,
-6.22938061e-03, 3.97276551e-01, -3.24730337e-01,
-1.96238175e-01, -1.14846639e-01, -7.39963725e-02,
-1.38275504e-01, 8.99293050e-02, -1.32165641e-01,
-6.62084669e-02, -2.34535351e-01, 1.46369547e-01,
1.22685008e-01],
[ 4.31427032e-01, -7.44317025e-02, 2.67373174e-01,
-6.03066161e-02, -9.82722342e-02, -1.68662548e-01,
-1.99719638e-01, -1.29983574e-01, -1.27645269e-01,
3.69933993e-01, -4.27788764e-01, -2.61078477e-01,
1.12954877e-01, -1.72437727e-02, 1.79085538e-01,
-1.38719335e-01],
[-1.15057878e-01, 2.05749914e-01, -2.28558198e-01,
2.23828405e-01, -3.33096057e-01, 4.86805215e-02,
1.41558066e-01, 9.57916752e-02, -2.69541983e-04,
7.59500116e-02, 4.79757845e-01, 8.89339447e-02,
4.31435615e-01, -3.05967238e-02, 3.66502166e-01,
1.51849836e-02],
[ 3.45691815e-02, -1.30894676e-01, -7.00790286e-02,
-4.17427301e-01, 3.27099741e-01, -8.97525176e-02,
1.30601734e-01, 1.50672466e-01, -1.83429807e-01,
1.50725082e-01, -2.73267716e-01, -3.15380067e-01,
3.57447147e-01, 2.44322285e-01, -1.91192135e-01,
-1.97035093e-02],
[ 5.14632463e-02, -2.15332806e-01, 3.28054905e-01,
-3.88519205e-02, 1.02614447e-01, -2.60371655e-01,
2.76330441e-01, -1.15150534e-01, 1.65867046e-01,
7.43942475e-03, -8.94641504e-02, 1.72797665e-01,
-3.55518460e-01, 5.32426983e-02, 2.75651485e-01,
-1.53680488e-01],
[ 9.60036218e-02, 7.91022405e-02, 1.47557929e-01,
-3.82248908e-01, -1.21325195e-01, -4.45989251e-01,
1.30717484e-02, 1.05433621e-01, 2.46692330e-01,
4.53945309e-01, -3.12528387e-02, 1.10500343e-01,
1.85067818e-01, 2.98138764e-02, -2.39129141e-02,
-9.73702520e-02],
[-3.15157384e-01, 1.07672416e-01, -1.18643060e-01,
5.00680283e-02, 1.72186360e-01, -1.58521369e-01,
5.57313561e-02, -5.87129593e-02, -2.00024158e-01,
-1.13186561e-01, -6.01012036e-02, -9.28583220e-02,
3.31719875e-01, 7.91731924e-02, -5.20986803e-02,
3.11294477e-02],
[ 1.76699981e-01, -3.78097981e-01, 2.18675211e-02,
3.42858471e-02, 1.46180525e-01, 5.22737671e-03,
3.02073747e-01, 3.17489803e-01, 1.24032676e-01,
1.23306811e-01, 2.91150898e-01, 3.98303568e-01,
-3.52727771e-02, 9.32099484e-03, 4.27867383e-01,
-3.59459221e-02],
[ 4.27662373e-01, 1.04936548e-01, 2.22817603e-02,
-3.10025308e-02, 2.10625678e-01, -4.89600688e-01,
3.52929272e-02, -2.01630548e-01, 1.22235410e-01,
-4.83819485e-01, -2.50241131e-01, 1.83930233e-01,
7.50211440e-03, -3.73694181e-01, 1.98687166e-02,
-7.44094849e-02],
[-1.77761257e-01, -3.16546679e-01, -3.64056170e-01,
-6.37044236e-02, 2.33370692e-01, -1.23081096e-01,
-1.97078735e-01, 2.61642605e-01, 4.32694294e-02,
4.49770182e-01, -7.92488232e-02, 2.03622803e-01,
-3.07808489e-01, 1.75954774e-01, -3.60850133e-02,
4.60841805e-02],
[ 4.03624058e-01, 2.94833720e-01, 3.12735409e-01,
-3.87360841e-01, 2.20495462e-01, -4.07426357e-02,
-4.63730171e-02, -1.98498949e-01, 3.54397949e-03,
-1.31620681e-02, -4.19487149e-01, -2.59532273e-01,
3.31252575e-01, 1.24248154e-01, 3.20432454e-01,
8.36841241e-02],
[-2.90980577e-01, 2.65479326e-01, 1.33886889e-01,
-4.66137230e-02, -3.64855945e-01, -1.24457881e-01,
3.06992978e-01, -3.70908417e-02, -1.46981537e-01,
2.31650457e-01, 3.69832873e-01, 1.34499088e-01,
2.05427483e-01, -4.35245484e-01, -7.27516338e-02,
-1.01026073e-01],
[-1.38795286e-01, 1.97833497e-02, 1.49454838e-02,
-2.17123121e-01, -1.70432344e-01, -4.58852053e-02,
-1.17375709e-01, 2.07690760e-01, 3.24869901e-01,
2.08386809e-01, 6.35273308e-02, -3.52665961e-01,
3.07734013e-01, -8.96946862e-02, -7.25047737e-02,
-3.45498711e-01],
[ 2.28725806e-01, -4.95397262e-02, 1.74036711e-01,
7.03107193e-02, -1.79355040e-01, -3.86292011e-01,
-4.57288235e-01, -4.26936932e-02, -1.72960877e-01,
1.61078304e-01, 2.65153527e-01, 4.27781731e-01,
-6.54587522e-02, 2.37399936e-01, 3.76881897e-01,
3.47480015e-03],
[-1.35362521e-01, 3.05592874e-03, -2.90820718e-01,
1.79733321e-01, -1.94804475e-01, -1.69430107e-01,
2.33237624e-01, -2.20962167e-01, -4.02376764e-02,
-2.43636750e-04, -1.54014096e-01, -9.13290381e-02,
-1.92119852e-01, 2.48108774e-01, 1.31905124e-01,
1.00465581e-01],
[-2.26475507e-01, 2.46831365e-02, -2.25680739e-01,
-9.48279127e-02, 3.52562875e-01, -1.11214891e-02,
-2.43672505e-01, 2.03427717e-01, 9.50813517e-02,
-4.33047086e-01, 1.83426905e-02, -8.06539282e-02,
2.73384392e-01, -1.22329883e-01, -4.21304911e-01,
-2.49103829e-01],
[ 5.35827391e-02, -3.21342021e-01, 3.23533356e-01,
8.09463859e-02, 1.24948286e-01, -3.31432432e-01,
-9.98857990e-03, 2.67387405e-02, 1.68946370e-01,
-1.21528052e-01, -1.43758669e-01, -2.10820526e-01,
8.51230696e-02, -4.29102555e-02, -1.06478296e-01,
1.13427110e-01],
[ 7.79549181e-02, -4.48206574e-01, -5.79705015e-02,
4.20480102e-01, 1.21834032e-01, 6.87966123e-02,
-1.79404423e-01, -1.29318506e-01, 1.94745883e-01,
2.77324587e-01, -3.31696898e-01, 6.42611925e-03,
-6.77029043e-02, -2.39306107e-01, 4.41071749e-01,
-8.33256319e-02],
[ 1.14917964e-01, -1.97234690e-01, 3.63036364e-01,
2.03693777e-01, -3.71406078e-02, 3.29800472e-02,
3.51199836e-01, 1.07941575e-01, -1.46642044e-01,
-9.66425836e-02, -1.29792914e-01, 1.52699411e-01,
-1.11692302e-01, -3.61699648e-02, -3.22065622e-01,
-1.82460308e-01],
[ 8.99261162e-02, -1.72963038e-01, 1.87514406e-02,
5.53300716e-02, 4.43298161e-01, -1.43272996e-01,
4.35954481e-01, 1.51977092e-01, 3.67770076e-01,
1.56882554e-01, 9.76383779e-03, -1.97864592e-01,
2.42149495e-02, 3.23184818e-01, -7.53264083e-03,
-1.77424297e-01],
[-5.48225902e-02, 3.42220247e-01, -4.10639793e-02,
1.33092985e-01, 3.07558417e-01, -1.66081652e-01,
4.12986785e-01, 2.16406092e-01, -2.52225012e-01,
3.23888771e-02, -1.23095460e-01, -1.76585659e-01,
-1.77128419e-01, 1.36253372e-01, -2.52391368e-01,
-1.17443018e-01]], dtype=float32)>
)
(name-cat/embedding_weights): <tf.Variable 'dense_features_1/name-cat/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[-0.06687801, 0.15697315, 0.13485634, -0.27636722, 0.16984937,
0.09116374, 0.12657401, -0.18055598, 0.14766401, -0.04098988,
-0.24086224, 0.17562422, -0.08551762, -0.46606374, 0.41666976,
0.2708102 ],
[-0.33246815, -0.03259745, 0.14261647, 0.244061 , -0.06615817,
0.2615467 , 0.29115674, 0.12839037, -0.10151848, 0.34535488,
-0.12269942, 0.01363297, 0.24188952, 0.04706245, -0.10749401,
0.24193095],
[ 0.10245176, 0.094698 , -0.20053202, -0.15359683, 0.23222537,
-0.24497783, 0.21124606, 0.03263655, 0.08897366, -0.12197728,
0.02519313, -0.0605487 , 0.15374991, 0.29905695, -0.11719283,
0.40648013],
[ 0.12740849, 0.05072968, 0.10807925, -0.03154865, -0.17181073,
0.0152052 , 0.27649334, 0.11205131, -0.4398108 , 0.27820206,
0.11689556, -0.07007796, 0.20634355, -0.11394371, 0.17078318,
-0.3581243 ],
[-0.3218107 , 0.09198514, -0.15994558, -0.338094 , -0.18187305,
0.0241571 , 0.01578297, 0.1261048 , 0.32401505, -0.20718512,
0.19892208, -0.3043738 , -0.03141814, -0.3037223 , -0.01001006,
-0.34375602],
[ 0.14179717, 0.00893818, -0.14079836, 0.18517895, 0.24997774,
-0.42068595, -0.3930699 , -0.0315279 , 0.12972263, -0.19243534,
-0.32475328, 0.11495266, -0.1984334 , 0.21748596, 0.04875034,
-0.11701371],
[-0.2225327 , 0.32316098, 0.18563873, -0.3447482 , 0.02337665,
-0.02970306, 0.38843712, 0.15422192, -0.19689023, 0.33162588,
0.21894532, 0.12792124, -0.11149679, -0.15780081, -0.01782363,
0.3056701 ],
[-0.06065008, -0.03023885, 0.24554117, -0.05400831, 0.1345467 ,
0.24691527, -0.18854736, 0.15383889, -0.20721936, 0.00276852,
-0.14434445, 0.41008314, -0.09534135, -0.31350282, -0.13394594,
0.04067347],
[-0.12377809, 0.10488696, 0.17501023, 0.02226608, -0.15004407,
0.03150492, 0.23954932, 0.24821654, -0.01301606, -0.08743318,
0.00274182, -0.08220214, 0.05687099, -0.06024526, -0.2074012 ,
-0.05134699],
[ 0.24282263, -0.4807549 , 0.05256163, -0.28113052, -0.09205715,
-0.14110652, 0.18105087, -0.12585402, -0.18647863, -0.33023152,
-0.15420309, 0.01904495, 0.01955628, 0.10924368, 0.04673145,
0.16804823],
[-0.2024973 , 0.05199805, 0.4130298 , -0.10945454, 0.2919142 ,
0.17731267, -0.3675194 , -0.02563749, 0.04138866, 0.33846006,
0.20846406, 0.12400512, 0.07867949, 0.08880118, 0.21355018,
-0.16764647],
[ 0.18419512, -0.01826548, 0.22872223, -0.1131421 , -0.37825203,
0.14307493, 0.1210006 , -0.2131754 , 0.21589378, 0.02237877,
0.14475301, -0.16484478, 0.1019745 , 0.31028938, 0.23642388,
-0.17505392],
[-0.12064622, 0.00118156, 0.05865923, 0.13998088, -0.04835566,
-0.29875737, 0.44005027, 0.1381813 , -0.16282924, 0.15908696,
-0.08274652, -0.15189216, -0.06640536, 0.04758754, 0.24011894,
-0.25901487],
[-0.16731235, 0.04529969, -0.20273745, 0.16062678, -0.25241277,
-0.05696942, -0.32367608, -0.21615076, -0.11658593, 0.11446347,
0.13889992, 0.40770003, -0.35847077, -0.2349938 , -0.17274688,
-0.15170227],
[ 0.08372737, -0.06195124, -0.20348951, 0.36773118, -0.0277026 ,
-0.13434723, -0.18745112, -0.15394624, -0.09285995, 0.07540671,
-0.3397644 , 0.41002175, -0.13259014, 0.29771078, -0.29288477,
-0.43416858],
[ 0.13837327, -0.12568744, 0.05265168, -0.28373525, -0.12829393,
0.2188633 , -0.26080975, 0.312138 , 0.2291818 , 0.25160518,
-0.23396645, 0.47702408, -0.24156111, 0.36700588, -0.11420761,
0.17045954],
[ 0.07198985, -0.23641707, -0.05918168, 0.03212028, 0.16970685,
0.37487042, -0.12580454, -0.14189626, -0.0195781 , -0.22659193,
-0.13798927, -0.11164163, 0.27256495, 0.02712692, 0.30123833,
-0.13323537],
[-0.06797264, -0.20648588, -0.23689227, 0.2245953 , 0.06643907,
0.03498618, -0.24840504, -0.0614747 , 0.26323423, -0.17655967,
0.12543567, -0.10079914, 0.03252189, -0.3356378 , 0.3230428 ,
0.24302249],
[-0.15755783, 0.2957477 , -0.1824555 , 0.16860524, 0.06524025,
0.00985464, -0.15323399, 0.06316991, -0.24130926, -0.01919975,
-0.08784222, -0.04757232, -0.2693311 , -0.11028012, 0.15522306,
0.22068374],
[-0.03320317, -0.1986694 , 0.24789335, -0.20169832, -0.23742546,
-0.23568726, 0.29243076, -0.20911407, 0.11071051, 0.27471465,
0.16362707, 0.19546966, 0.19769908, -0.16088167, -0.04924185,
0.00593862],
[-0.1481138 , 0.31845713, -0.00439745, 0.0814875 , -0.14104906,
-0.05985123, -0.2335092 , 0.08243226, -0.11936582, 0.4421754 ,
0.09290003, -0.19530556, -0.4749194 , 0.11919809, 0.1581817 ,
-0.03333323],
[-0.32714388, 0.02116153, 0.20685036, -0.18760075, -0.1629511 ,
-0.05843002, 0.09321861, -0.2597285 , -0.00794853, -0.41522598,
-0.28550383, 0.12016484, -0.24654908, -0.1910988 , 0.16609389,
0.17359446],
[ 0.13231985, -0.17706025, -0.16006717, 0.15293512, -0.15366578,
0.12589213, -0.2226296 , 0.31192002, 0.09295454, 0.16166873,
-0.05012323, -0.2871064 , -0.02983604, 0.16215105, -0.12948583,
0.24734314],
[ 0.22360574, -0.05426844, -0.02788786, -0.4840575 , 0.26335043,
-0.02446032, 0.06655949, 0.12160095, 0.18450499, 0.14210878,
0.10259218, -0.15094613, -0.12521683, -0.1251817 , -0.20778853,
0.2469511 ],
[-0.34324828, 0.46647656, -0.2043299 , 0.24658222, 0.42521283,
0.16161026, 0.24677563, -0.04348712, -0.17662981, 0.17999502,
-0.315132 , -0.30222058, -0.43954116, 0.01935531, -0.30051157,
-0.12216052],
[ 0.25793004, 0.3102875 , 0.12154787, -0.00796143, 0.274935 ,
-0.072341 , -0.00313485, -0.1276019 , -0.44657397, -0.09835323,
0.328989 , -0.29162672, -0.08720337, -0.16094653, -0.38389024,
0.14271623],
[-0.41651127, -0.04335038, 0.3220358 , -0.12114995, 0.2050394 ,
-0.39464557, -0.09288112, 0.23013301, 0.46069133, 0.02778143,
-0.16021022, -0.17960978, 0.10912719, 0.42310795, -0.03550638,
-0.40766296]], dtype=float32)>
(name-string/embedding_weights): <tf.Variable 'dense_features_1/name-string/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[ 4.89110380e-01, -9.06445235e-02, 3.41926396e-01,
1.15185462e-01, 7.99236819e-02, -8.60821398e-04,
8.00331458e-02, 3.48885566e-01, -3.04463565e-01,
-2.10898910e-02, 4.58370030e-01, 1.01091310e-01,
3.05880368e-01, 2.80624330e-01, -3.09848845e-01,
3.38686645e-01],
[ 1.02111951e-01, 1.73408255e-01, 1.81634109e-02,
-1.00807242e-01, 3.82921100e-01, -1.94923997e-01,
1.33374766e-01, 2.48230219e-01, 3.36874694e-01,
-1.03833742e-01, 1.43456846e-01, 8.67795944e-02,
-3.27987820e-01, -2.56376624e-01, -3.19374502e-01,
1.86083168e-01],
[-3.41348201e-01, -4.33666945e-01, 3.34114641e-01,
-2.10620508e-01, 1.53262809e-01, 1.20779410e-01,
3.24421227e-01, -2.24491403e-01, 3.16846371e-01,
4.67346348e-02, 3.62729169e-02, 2.70192921e-01,
7.75310099e-02, -8.51200595e-02, -1.79920867e-01,
2.60424674e-01],
[ 2.31709838e-01, 2.86716044e-01, -1.97135642e-01,
-2.19637677e-01, 2.19714016e-01, 4.14133035e-02,
-3.23718414e-02, -4.42171782e-01, -3.39106433e-02,
-7.06855506e-02, 3.50155056e-01, -1.24487191e-01,
5.15920296e-02, 6.04369678e-02, -4.26713645e-01,
2.57647574e-01],
[-4.79114681e-01, 1.45273924e-01, 1.78854495e-01,
1.39982328e-01, -3.74815017e-01, 9.07240212e-02,
2.27282763e-01, -1.39608920e-01, -2.14748502e-01,
7.99059719e-02, -1.36118919e-01, -2.48971343e-01,
1.95168018e-01, -2.07449824e-01, -4.72407937e-01,
2.79238224e-01],
[-4.30340350e-01, -2.51394123e-01, 9.37442333e-02,
-6.14134222e-02, 2.74688900e-01, 2.75088903e-02,
-7.82100037e-02, 1.56775475e-01, -1.12053715e-01,
4.02120382e-01, -3.40169936e-01, -4.25569236e-01,
-3.89428400e-02, -1.62097305e-01, 6.56907409e-02,
-8.32272992e-02],
[ 2.44461402e-01, 1.49415463e-01, -4.56961542e-01,
-6.22938061e-03, 3.97276551e-01, -3.24730337e-01,
-1.96238175e-01, -1.14846639e-01, -7.39963725e-02,
-1.38275504e-01, 8.99293050e-02, -1.32165641e-01,
-6.62084669e-02, -2.34535351e-01, 1.46369547e-01,
1.22685008e-01],
[ 4.31427032e-01, -7.44317025e-02, 2.67373174e-01,
-6.03066161e-02, -9.82722342e-02, -1.68662548e-01,
-1.99719638e-01, -1.29983574e-01, -1.27645269e-01,
3.69933993e-01, -4.27788764e-01, -2.61078477e-01,
1.12954877e-01, -1.72437727e-02, 1.79085538e-01,
-1.38719335e-01],
[-1.15057878e-01, 2.05749914e-01, -2.28558198e-01,
2.23828405e-01, -3.33096057e-01, 4.86805215e-02,
1.41558066e-01, 9.57916752e-02, -2.69541983e-04,
7.59500116e-02, 4.79757845e-01, 8.89339447e-02,
4.31435615e-01, -3.05967238e-02, 3.66502166e-01,
1.51849836e-02],
[ 3.45691815e-02, -1.30894676e-01, -7.00790286e-02,
-4.17427301e-01, 3.27099741e-01, -8.97525176e-02,
1.30601734e-01, 1.50672466e-01, -1.83429807e-01,
1.50725082e-01, -2.73267716e-01, -3.15380067e-01,
3.57447147e-01, 2.44322285e-01, -1.91192135e-01,
-1.97035093e-02],
[ 5.14632463e-02, -2.15332806e-01, 3.28054905e-01,
-3.88519205e-02, 1.02614447e-01, -2.60371655e-01,
2.76330441e-01, -1.15150534e-01, 1.65867046e-01,
7.43942475e-03, -8.94641504e-02, 1.72797665e-01,
-3.55518460e-01, 5.32426983e-02, 2.75651485e-01,
-1.53680488e-01],
[ 9.60036218e-02, 7.91022405e-02, 1.47557929e-01,
-3.82248908e-01, -1.21325195e-01, -4.45989251e-01,
1.30717484e-02, 1.05433621e-01, 2.46692330e-01,
4.53945309e-01, -3.12528387e-02, 1.10500343e-01,
1.85067818e-01, 2.98138764e-02, -2.39129141e-02,
-9.73702520e-02],
[-3.15157384e-01, 1.07672416e-01, -1.18643060e-01,
5.00680283e-02, 1.72186360e-01, -1.58521369e-01,
5.57313561e-02, -5.87129593e-02, -2.00024158e-01,
-1.13186561e-01, -6.01012036e-02, -9.28583220e-02,
3.31719875e-01, 7.91731924e-02, -5.20986803e-02,
3.11294477e-02],
[ 1.76699981e-01, -3.78097981e-01, 2.18675211e-02,
3.42858471e-02, 1.46180525e-01, 5.22737671e-03,
3.02073747e-01, 3.17489803e-01, 1.24032676e-01,
1.23306811e-01, 2.91150898e-01, 3.98303568e-01,
-3.52727771e-02, 9.32099484e-03, 4.27867383e-01,
-3.59459221e-02],
[ 4.27662373e-01, 1.04936548e-01, 2.22817603e-02,
-3.10025308e-02, 2.10625678e-01, -4.89600688e-01,
3.52929272e-02, -2.01630548e-01, 1.22235410e-01,
-4.83819485e-01, -2.50241131e-01, 1.83930233e-01,
7.50211440e-03, -3.73694181e-01, 1.98687166e-02,
-7.44094849e-02],
[-1.77761257e-01, -3.16546679e-01, -3.64056170e-01,
-6.37044236e-02, 2.33370692e-01, -1.23081096e-01,
-1.97078735e-01, 2.61642605e-01, 4.32694294e-02,
4.49770182e-01, -7.92488232e-02, 2.03622803e-01,
-3.07808489e-01, 1.75954774e-01, -3.60850133e-02,
4.60841805e-02],
[ 4.03624058e-01, 2.94833720e-01, 3.12735409e-01,
-3.87360841e-01, 2.20495462e-01, -4.07426357e-02,
-4.63730171e-02, -1.98498949e-01, 3.54397949e-03,
-1.31620681e-02, -4.19487149e-01, -2.59532273e-01,
3.31252575e-01, 1.24248154e-01, 3.20432454e-01,
8.36841241e-02],
[-2.90980577e-01, 2.65479326e-01, 1.33886889e-01,
-4.66137230e-02, -3.64855945e-01, -1.24457881e-01,
3.06992978e-01, -3.70908417e-02, -1.46981537e-01,
2.31650457e-01, 3.69832873e-01, 1.34499088e-01,
2.05427483e-01, -4.35245484e-01, -7.27516338e-02,
-1.01026073e-01],
[-1.38795286e-01, 1.97833497e-02, 1.49454838e-02,
-2.17123121e-01, -1.70432344e-01, -4.58852053e-02,
-1.17375709e-01, 2.07690760e-01, 3.24869901e-01,
2.08386809e-01, 6.35273308e-02, -3.52665961e-01,
3.07734013e-01, -8.96946862e-02, -7.25047737e-02,
-3.45498711e-01],
[ 2.28725806e-01, -4.95397262e-02, 1.74036711e-01,
7.03107193e-02, -1.79355040e-01, -3.86292011e-01,
-4.57288235e-01, -4.26936932e-02, -1.72960877e-01,
1.61078304e-01, 2.65153527e-01, 4.27781731e-01,
-6.54587522e-02, 2.37399936e-01, 3.76881897e-01,
3.47480015e-03],
[-1.35362521e-01, 3.05592874e-03, -2.90820718e-01,
1.79733321e-01, -1.94804475e-01, -1.69430107e-01,
2.33237624e-01, -2.20962167e-01, -4.02376764e-02,
-2.43636750e-04, -1.54014096e-01, -9.13290381e-02,
-1.92119852e-01, 2.48108774e-01, 1.31905124e-01,
1.00465581e-01],
[-2.26475507e-01, 2.46831365e-02, -2.25680739e-01,
-9.48279127e-02, 3.52562875e-01, -1.11214891e-02,
-2.43672505e-01, 2.03427717e-01, 9.50813517e-02,
-4.33047086e-01, 1.83426905e-02, -8.06539282e-02,
2.73384392e-01, -1.22329883e-01, -4.21304911e-01,
-2.49103829e-01],
[ 5.35827391e-02, -3.21342021e-01, 3.23533356e-01,
8.09463859e-02, 1.24948286e-01, -3.31432432e-01,
-9.98857990e-03, 2.67387405e-02, 1.68946370e-01,
-1.21528052e-01, -1.43758669e-01, -2.10820526e-01,
8.51230696e-02, -4.29102555e-02, -1.06478296e-01,
1.13427110e-01],
[ 7.79549181e-02, -4.48206574e-01, -5.79705015e-02,
4.20480102e-01, 1.21834032e-01, 6.87966123e-02,
-1.79404423e-01, -1.29318506e-01, 1.94745883e-01,
2.77324587e-01, -3.31696898e-01, 6.42611925e-03,
-6.77029043e-02, -2.39306107e-01, 4.41071749e-01,
-8.33256319e-02],
[ 1.14917964e-01, -1.97234690e-01, 3.63036364e-01,
2.03693777e-01, -3.71406078e-02, 3.29800472e-02,
3.51199836e-01, 1.07941575e-01, -1.46642044e-01,
-9.66425836e-02, -1.29792914e-01, 1.52699411e-01,
-1.11692302e-01, -3.61699648e-02, -3.22065622e-01,
-1.82460308e-01],
[ 8.99261162e-02, -1.72963038e-01, 1.87514406e-02,
5.53300716e-02, 4.43298161e-01, -1.43272996e-01,
4.35954481e-01, 1.51977092e-01, 3.67770076e-01,
1.56882554e-01, 9.76383779e-03, -1.97864592e-01,
2.42149495e-02, 3.23184818e-01, -7.53264083e-03,
-1.77424297e-01],
[-5.48225902e-02, 3.42220247e-01, -4.10639793e-02,
1.33092985e-01, 3.07558417e-01, -1.66081652e-01,
4.12986785e-01, 2.16406092e-01, -2.52225012e-01,
3.23888771e-02, -1.23095460e-01, -1.76585659e-01,
-1.77128419e-01, 1.36253372e-01, -2.52391368e-01,
-1.17443018e-01]], dtype=float32)>
) has the same name 'DenseFeatures' as a built-in Keras object. Consider renaming <class 'nvtabular.framework_utils.tensorflow.layers.embedding.DenseFeatures'> to avoid naming conflicts when loading with tf.keras.models.load_model. If renaming is not possible, pass the object in the custom_objects parameter of the load function.
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
________________________ test_tf_op_exports_own_config _________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-6/test_tf_op_exports_own_config0')

def test_tf_op_exports_own_config(tmpdir):
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="input", dtype=tf.int32, shape=(784,)),
            tf.keras.layers.Dense(512, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, name="output"),
        ]
    )

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/tf/test_tf_op.py:55:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efa6364ae80>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________________________ test_tf_op_compute_schema ___________________________

def test_tf_op_compute_schema():
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="input", dtype=tf.int32, shape=(784,)),
            tf.keras.layers.Dense(512, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, name="output"),
        ]
    )

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/tf/test_tf_op.py:94:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efb0c08fa00>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________________________ test_tf_schema_validation ___________________________

def test_tf_schema_validation():
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="input", dtype=tf.int32, shape=(784,)),
            tf.keras.layers.Dense(512, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, name="output"),
        ]
    )

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  tf_node = [] >> tf_op.PredictTensorflow(model)

tests/unit/systems/tf/test_tf_op.py:117:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efb0c5f6e80>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
_____________ test_tf_op_infers_schema_for_fixed_size_input_tuples _____________

def test_tf_op_infers_schema_for_fixed_size_input_tuples():
    inputs = (tf.keras.Input(shape=(128,)), tf.keras.Input(shape=(128,)))
    towers = (tf.keras.layers.Dense(64)(inputs[0]), tf.keras.layers.Dense(64)(inputs[1]))
    outputs = tf.keras.layers.dot(towers, [1, 1])
    model = tf.keras.Model(inputs=inputs, outputs=outputs)

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/tf/test_tf_op.py:146:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efb2c268f70>
model = Functional(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________ test_tf_op_infers_schema_for_fixed_or_ragged_list_columns ___________

def test_tf_op_infers_schema_for_fixed_or_ragged_list_columns():
    # The shape of this input mimics a column with 128 rows and
    # lists that might have either exactly 4 elements in each row,
    # or a variable number of elements that happen to add up to 512.
    # The details of the model don't matter for this test, only the
    # shape of the inputs.

    inputs = (tf.keras.Input(shape=(512,)), tf.keras.Input(shape=(128,)))
    towers = (tf.keras.layers.Dense(64)(inputs[0]), tf.keras.layers.Dense(64)(inputs[1]))
    outputs = tf.keras.layers.dot(towers, [1, 1])
    model = tf.keras.Model(inputs=inputs, outputs=outputs)

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/tf/test_tf_op.py:190:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7efb61b7fd60>
model = Functional(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
=============================== warnings summary ===============================
../../../../../usr/local/lib/python3.8/dist-packages/nvtabular/framework_utils/init.py:18
/usr/local/lib/python3.8/dist-packages/nvtabular/framework_utils/init.py:18: DeprecationWarning: The nvtabular.framework_utils module is being replaced by the Merlin Models library. Support for importing from nvtabular.framework_utils is deprecated, and will be removed in a future version. Please consider using the models and layers from Merlin Models instead.
warnings.warn(

tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py: 1 warning
tests/unit/systems/test_export.py: 1 warning
tests/unit/systems/dag/test_op_runner.py: 4 warnings
tests/unit/systems/nvtabular/test_workflow_op.py: 2 warnings
tests/unit/systems/tf/test_ensemble.py: 2 warnings
/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/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column x is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column y is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column id is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/fil/test_fil.py::test_binary_classifier_default[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_binary_classifier_with_proba[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_multi_classifier[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_regressor[sklearn_forest_regressor-get_model_params4]
tests/unit/systems/fil/test_fil.py::test_model_file[sklearn_forest_regressor-checkpoint.tl]
/usr/local/lib/python3.8/dist-packages/sklearn/utils/deprecation.py:103: FutureWarning: Attribute n_features_ was deprecated in version 1.0 and will be removed in 1.2. Use n_features_in_ instead.
warnings.warn(msg, category=FutureWarning)

tests/unit/systems/fil/test_forest.py::test_export_merlin_models
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()

tests/unit/systems/implicit/test_implicit.py::test_reload_from_config[AlternatingLeastSquares]
/usr/local/lib/python3.8/dist-packages/implicit/utils.py:28: UserWarning: OpenBLAS detected. Its highly recommend to set the environment variable 'export OPENBLAS_NUM_THREADS=1' to disable its internal multithreading
warnings.warn(

tests/unit/systems/torch/test_torch.py::test_pytorch_op_serving[True-True]
/usr/local/lib/python3.8/dist-packages/torch/serialization.py:707: UserWarning: 'torch.load' received a zip file that looks like a TorchScript archive dispatching to 'torch.jit.load' (call 'torch.jit.load' directly to silence this warning)
warnings.warn("'torch.load' received a zip file that looks like a TorchScript archive"

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py::test_example_04_exporting_ranking_models
FAILED tests/unit/systems/tf/test_ensemble.py::test_workflow_tf_e2e_config_verification[parquet]
FAILED tests/unit/systems/tf/test_ensemble.py::test_workflow_tf_e2e_multi_op_run[parquet]
FAILED tests/unit/systems/tf/test_tf_op.py::test_tf_op_exports_own_config - A...
FAILED tests/unit/systems/tf/test_tf_op.py::test_tf_op_compute_schema - Attri...
FAILED tests/unit/systems/tf/test_tf_op.py::test_tf_schema_validation - Attri...
FAILED tests/unit/systems/tf/test_tf_op.py::test_tf_op_infers_schema_for_fixed_size_input_tuples
FAILED tests/unit/systems/tf/test_tf_op.py::test_tf_op_infers_schema_for_fixed_or_ragged_list_columns
============ 8 failed, 61 passed, 22 warnings in 237.93s (0:03:57) =============
Build step 'Execute shell' marked build as failure
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=1 python test_res_push.py "https://api.GitHub.com/repos/NVIDIA-Merlin/systems/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[merlin_systems] $ /bin/bash /tmp/jenkins8749124619995631940.sh

This is gross, but I can't figure out how else to do it without having a saved schema that goes with the model
@karlhigley karlhigley force-pushed the fix/multihot-schemas branch from f20c01f to 7cf6545 Compare August 17, 2022 15:23
@karlhigley karlhigley changed the base branch from main to refactor/organize-tests August 17, 2022 15:23
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #173 of commit 7cf6545c6b2af36ee6ddec24ccc74e7d28cdeddd, no merge conflicts.
Running as SYSTEM
Setting status of 7cf6545c6b2af36ee6ddec24ccc74e7d28cdeddd to PENDING with url https://10.20.13.93:8080/job/merlin_systems/301/console and message: 'Pending'
Using context: Jenkins
Building on master in workspace /var/jenkins_home/workspace/merlin_systems
using credential fce1c729-5d7c-48e8-90cb-b0c314b1076e
 > 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/systems # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/systems
 > git --version # timeout=10
using GIT_ASKPASS to set credentials login for merlin-systems user + githubtoken
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/systems +refs/pull/173/*:refs/remotes/origin/pr/173/* # timeout=10
 > git rev-parse 7cf6545c6b2af36ee6ddec24ccc74e7d28cdeddd^{commit} # timeout=10
Checking out Revision 7cf6545c6b2af36ee6ddec24ccc74e7d28cdeddd (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 7cf6545c6b2af36ee6ddec24ccc74e7d28cdeddd # timeout=10
Commit message: "(WIP) Find multi-hots via column suffixes"
 > git rev-list --no-walk 987b0c667f12f6eaf47c75d8187cda8532a95e28 # timeout=10
[merlin_systems] $ /bin/bash /tmp/jenkins7216275840953778883.sh
PYTHONPATH=:/usr/local/lib/python3.8/dist-packages/:/usr/local/hugectr/lib:/var/jenkins_home/workspace/merlin_systems/systems
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/merlin_systems/systems, configfile: pyproject.toml
plugins: anyio-3.6.1, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 69 items

tests/unit/test_version.py . [ 1%]
tests/unit/examples/test_serving_an_xgboost_model_with_merlin_systems.py . [ 2%]
[ 2%]
tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py F [ 4%]
[ 4%]
tests/unit/systems/test_export.py . [ 5%]
tests/unit/systems/dag/test_graph.py .. [ 8%]
tests/unit/systems/dag/test_model_registry.py .. [ 11%]
tests/unit/systems/dag/test_op_runner.py .... [ 17%]
tests/unit/systems/dag/ops/test_ops.py .. [ 20%]
tests/unit/systems/ops/feast/test_op.py ..... [ 27%]
tests/unit/systems/ops/fil/test_ensemble.py . [ 28%]
tests/unit/systems/ops/fil/test_forest.py .... [ 34%]
tests/unit/systems/ops/fil/test_op.py .......................... [ 72%]
tests/unit/systems/ops/implicit/test_op.py ...... [ 81%]
tests/unit/systems/ops/nvtabular/test_op.py .. [ 84%]
tests/unit/systems/ops/tf/test_ensemble.py FF [ 86%]
tests/unit/systems/ops/tf/test_op.py FFFFF [ 94%]
tests/unit/systems/ops/torch/test_op.py .... [100%]

=================================== FAILURES ===================================
___________________ test_example_04_exporting_ranking_models ___________________

self = <testbook.client.TestbookNotebookClient object at 0x7f20cb5012e0>
cell = {'cell_type': 'markdown', 'id': '53908458', 'metadata': {'tags': []}, 'source': '## Create the Ensemble Graph\n\nAfter...\n

This operator will do something similar with the model, loaded before.
\n\n\nLet's give it a try.'}
kwargs = {}, cell_indexes = [0, 1, 2, 3, 4, 5, ...]
executed_cells = [{'cell_type': 'code', 'execution_count': 2, 'id': '620dd990', 'metadata': {'execution': {'iopub.status.busy': '2022-0...\nworkflow_stored_path = os.path.join(input_path, "workflow")\n\nworkflow = Workflow.load(workflow_stored_path)'}, ...]
idx = 13

def execute_cell(self, cell, **kwargs) -> Union[Dict, List[Dict]]:
    """
    Executes a cell or list of cells
    """
    if isinstance(cell, slice):
        start, stop = self._cell_index(cell.start), self._cell_index(cell.stop)
        if cell.step is not None:
            raise TestbookError('testbook does not support step argument')

        cell = range(start, stop + 1)
    elif isinstance(cell, str) or isinstance(cell, int):
        cell = [cell]

    cell_indexes = cell

    if all(isinstance(x, str) for x in cell):
        cell_indexes = [self._cell_index(tag) for tag in cell]

    executed_cells = []
    for idx in cell_indexes:
        try:
          cell = super().execute_cell(self.nb['cells'][idx], idx, **kwargs)

/usr/local/lib/python3.8/dist-packages/testbook/client.py:133:


args = (<testbook.client.TestbookNotebookClient object at 0x7f20cb5012e0>, {'cell_type': 'code', 'execution_count': 8, 'id': ...erving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)'}, 13)
kwargs = {}

def wrapped(*args, **kwargs):
  return just_run(coro(*args, **kwargs))

/usr/local/lib/python3.8/dist-packages/nbclient/util.py:85:


coro = <coroutine object NotebookClient.async_execute_cell at 0x7f20204f7440>

def just_run(coro: Awaitable) -> Any:
    """Make the coroutine run, even if there is an event loop running (using nest_asyncio)"""
    try:
        loop = asyncio.get_running_loop()
    except RuntimeError:
        loop = None
    if loop is None:
        had_running_loop = False
        loop = asyncio.new_event_loop()
        asyncio.set_event_loop(loop)
    else:
        had_running_loop = True
    if had_running_loop:
        # if there is a running loop, we patch using nest_asyncio
        # to have reentrant event loops
        check_ipython()
        import nest_asyncio

        nest_asyncio.apply()
        check_patch_tornado()
  return loop.run_until_complete(coro)

/usr/local/lib/python3.8/dist-packages/nbclient/util.py:60:


self = <_UnixSelectorEventLoop running=False closed=False debug=False>
future = <Task finished name='Task-106' coro=<NotebookClient.async_execute_cell() done, defined at /usr/local/lib/python3.8/dis...Error\x1b[0m: 'list' object has no attribute 'join'\nAttributeError: 'list' object has no attribute 'join'\n')>

def run_until_complete(self, future):
    """Run until the Future is done.

    If the argument is a coroutine, it is wrapped in a Task.

    WARNING: It would be disastrous to call run_until_complete()
    with the same coroutine twice -- it would wrap it in two
    different Tasks and that can't be good.

    Return the Future's result, or raise its exception.
    """
    self._check_closed()
    self._check_running()

    new_task = not futures.isfuture(future)
    future = tasks.ensure_future(future, loop=self)
    if new_task:
        # An exception is raised if the future didn't complete, so there
        # is no need to log the "destroy pending task" message
        future._log_destroy_pending = False

    future.add_done_callback(_run_until_complete_cb)
    try:
        self.run_forever()
    except:
        if new_task and future.done() and not future.cancelled():
            # The coroutine raised a BaseException. Consume the exception
            # to not log a warning, the caller doesn't have access to the
            # local task.
            future.exception()
        raise
    finally:
        future.remove_done_callback(_run_until_complete_cb)
    if not future.done():
        raise RuntimeError('Event loop stopped before Future completed.')
  return future.result()

/usr/lib/python3.8/asyncio/base_events.py:616:


self = <testbook.client.TestbookNotebookClient object at 0x7f20cb5012e0>
cell = {'cell_type': 'code', 'execution_count': 8, 'id': 'f80e5cc8', 'metadata': {'execution': {'iopub.status.busy': '2022-08...\n\nserving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)'}
cell_index = 13, execution_count = None, store_history = True

async def async_execute_cell(
    self,
    cell: NotebookNode,
    cell_index: int,
    execution_count: t.Optional[int] = None,
    store_history: bool = True,
) -> NotebookNode:
    """
    Executes a single code cell.

    To execute all cells see :meth:`execute`.

    Parameters
    ----------
    cell : nbformat.NotebookNode
        The cell which is currently being processed.
    cell_index : int
        The position of the cell within the notebook object.
    execution_count : int
        The execution count to be assigned to the cell (default: Use kernel response)
    store_history : bool
        Determines if history should be stored in the kernel (default: False).
        Specific to ipython kernels, which can store command histories.

    Returns
    -------
    output : dict
        The execution output payload (or None for no output).

    Raises
    ------
    CellExecutionError
        If execution failed and should raise an exception, this will be raised
        with defaults about the failure.

    Returns
    -------
    cell : NotebookNode
        The cell which was just processed.
    """
    assert self.kc is not None

    await run_hook(self.on_cell_start, cell=cell, cell_index=cell_index)

    if cell.cell_type != 'code' or not cell.source.strip():
        self.log.debug("Skipping non-executing cell %s", cell_index)
        return cell

    if self.skip_cells_with_tag in cell.metadata.get("tags", []):
        self.log.debug("Skipping tagged cell %s", cell_index)
        return cell

    if self.record_timing:  # clear execution metadata prior to execution
        cell['metadata']['execution'] = {}

    self.log.debug("Executing cell:\n%s", cell.source)

    cell_allows_errors = (not self.force_raise_errors) and (
        self.allow_errors or "raises-exception" in cell.metadata.get("tags", [])
    )

    await run_hook(self.on_cell_execute, cell=cell, cell_index=cell_index)
    parent_msg_id = await ensure_async(
        self.kc.execute(
            cell.source, store_history=store_history, stop_on_error=not cell_allows_errors
        )
    )
    await run_hook(self.on_cell_complete, cell=cell, cell_index=cell_index)
    # We launched a code cell to execute
    self.code_cells_executed += 1
    exec_timeout = self._get_timeout(cell)

    cell.outputs = []
    self.clear_before_next_output = False

    task_poll_kernel_alive = asyncio.ensure_future(self._async_poll_kernel_alive())
    task_poll_output_msg = asyncio.ensure_future(
        self._async_poll_output_msg(parent_msg_id, cell, cell_index)
    )
    self.task_poll_for_reply = asyncio.ensure_future(
        self._async_poll_for_reply(
            parent_msg_id, cell, exec_timeout, task_poll_output_msg, task_poll_kernel_alive
        )
    )
    try:
        exec_reply = await self.task_poll_for_reply
    except asyncio.CancelledError:
        # can only be cancelled by task_poll_kernel_alive when the kernel is dead
        task_poll_output_msg.cancel()
        raise DeadKernelError("Kernel died")
    except Exception as e:
        # Best effort to cancel request if it hasn't been resolved
        try:
            # Check if the task_poll_output is doing the raising for us
            if not isinstance(e, CellControlSignal):
                task_poll_output_msg.cancel()
        finally:
            raise

    if execution_count:
        cell['execution_count'] = execution_count
    await run_hook(
        self.on_cell_executed, cell=cell, cell_index=cell_index, execute_reply=exec_reply
    )
  await self._check_raise_for_error(cell, cell_index, exec_reply)

/usr/local/lib/python3.8/dist-packages/nbclient/client.py:1025:


self = <testbook.client.TestbookNotebookClient object at 0x7f20cb5012e0>
cell = {'cell_type': 'code', 'execution_count': 8, 'id': 'f80e5cc8', 'metadata': {'execution': {'iopub.status.busy': '2022-08...\n\nserving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)'}
cell_index = 13
exec_reply = {'buffers': [], 'content': {'ename': 'AttributeError', 'engine_info': {'engine_id': -1, 'engine_uuid': '0a9ce09b-14e2-...e, 'engine': '0a9ce09b-14e2-4080-ab20-bce92b64a4f5', 'started': '2022-08-17T15:28:29.047544Z', 'status': 'error'}, ...}

async def _check_raise_for_error(
    self, cell: NotebookNode, cell_index: int, exec_reply: t.Optional[t.Dict]
) -> None:

    if exec_reply is None:
        return None

    exec_reply_content = exec_reply['content']
    if exec_reply_content['status'] != 'error':
        return None

    cell_allows_errors = (not self.force_raise_errors) and (
        self.allow_errors
        or exec_reply_content.get('ename') in self.allow_error_names
        or "raises-exception" in cell.metadata.get("tags", [])
    )
    await run_hook(
        self.on_cell_error, cell=cell, cell_index=cell_index, execute_reply=exec_reply
    )
    if not cell_allows_errors:
      raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)

E nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:
E ------------------
E from merlin.systems.dag.ops.workflow import TransformWorkflow
E from merlin.systems.dag.ops.tensorflow import PredictTensorflow
E
E serving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)
E ------------------
E
E �[0;31m---------------------------------------------------------------------------�[0m
E �[0;31mAttributeError�[0m Traceback (most recent call last)
E Input �[0;32mIn [8]�[0m, in �[0;36m<cell line: 4>�[0;34m()�[0m
E �[1;32m 1�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mworkflow�[39;00m �[38;5;28;01mimport�[39;00m TransformWorkflow
E �[1;32m 2�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mtensorflow�[39;00m �[38;5;28;01mimport�[39;00m PredictTensorflow
E �[0;32m----> 4�[0m serving_operators �[38;5;241m=�[39m workflow�[38;5;241m.�[39minput_schema�[38;5;241m.�[39mcolumn_names �[38;5;241m>>�[39m TransformWorkflow(workflow) �[38;5;241m>>�[39m �[43mPredictTensorflow�[49m�[43m(�[49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:62�[0m, in �[0;36mPredictTensorflow.__init__�[0;34m(self, model_or_path, custom_objects)�[0m
E �[1;32m 59�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mpath �[38;5;241m=�[39m �[38;5;28;01mNone�[39;00m
E �[1;32m 60�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mmodel �[38;5;241m=�[39m model_or_path
E �[0;32m---> 62�[0m �[38;5;28mself�[39m�[38;5;241m.�[39minput_schema, �[38;5;28mself�[39m�[38;5;241m.�[39moutput_schema �[38;5;241m=�[39m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_infer_schemas_from_model�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:158�[0m, in �[0;36mPredictTensorflow._infer_schemas_from_model�[0;34m(self, model)�[0m
E �[1;32m 156�[0m �[38;5;28;01mfor�[39;00m col_name, _ �[38;5;129;01min�[39;00m signature_inputs�[38;5;241m.�[39mitems():
E �[1;32m 157�[0m elements �[38;5;241m=�[39m col_name�[38;5;241m.�[39msplit(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[0;32m--> 158�[0m stem �[38;5;241m=�[39m �[43melements�[49m�[43m[�[49m�[43m:�[49m�[38;5;241;43m-�[39;49m�[38;5;241;43m1�[39;49m�[43m]�[49m�[38;5;241;43m.�[39;49m�[43mjoin�[49m(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[1;32m 159�[0m suffix �[38;5;241m=�[39m elements[�[38;5;241m-�[39m�[38;5;241m1�[39m]
E �[1;32m 160�[0m col_suffixes[stem] �[38;5;241m|�[39m�[38;5;241m=�[39m {suffix}
E
E �[0;31mAttributeError�[0m: 'list' object has no attribute 'join'
E AttributeError: 'list' object has no attribute 'join'

/usr/local/lib/python3.8/dist-packages/nbclient/client.py:919: CellExecutionError

During handling of the above exception, another exception occurred:

tb = <testbook.client.TestbookNotebookClient object at 0x7f20cb5012e0>

@testbook(REPO_ROOT / "examples/Serving-Ranking-Models-With-Merlin-Systems.ipynb", execute=False)
def test_example_04_exporting_ranking_models(tb):
    import tensorflow as tf

    import merlin.models.tf as mm
    import nvtabular as nvt
    from merlin.datasets.synthetic import generate_data
    from merlin.io.dataset import Dataset
    from merlin.schema.tags import Tags

    DATA_FOLDER = "/tmp/data/"
    NUM_ROWS = 1000000
    BATCH_SIZE = 512
    train, valid = generate_data("aliccp-raw", int(NUM_ROWS), set_sizes=(0.7, 0.3))
    train.to_ddf().to_parquet(os.path.join(DATA_FOLDER, "train"))
    valid.to_ddf().to_parquet(os.path.join(DATA_FOLDER, "valid"))
    train_path = os.path.join(DATA_FOLDER, "train", "*.parquet")
    valid_path = os.path.join(DATA_FOLDER, "valid", "*.parquet")
    output_path = os.path.join(DATA_FOLDER, "processed")
    user_id = ["user_id"] >> nvt.ops.Categorify() >> nvt.ops.TagAsUserID()
    item_id = ["item_id"] >> nvt.ops.Categorify() >> nvt.ops.TagAsItemID()
    targets = ["click"] >> nvt.ops.AddMetadata(tags=[Tags.BINARY_CLASSIFICATION, "target"])
    item_features = (
        ["item_category", "item_shop", "item_brand"]
        >> nvt.ops.Categorify()
        >> nvt.ops.TagAsItemFeatures()
    )
    user_features = (
        [
            "user_shops",
            "user_profile",
            "user_group",
            "user_gender",
            "user_age",
            "user_consumption_2",
            "user_is_occupied",
            "user_geography",
            "user_intentions",
            "user_brands",
            "user_categories",
        ]
        >> nvt.ops.Categorify()
        >> nvt.ops.TagAsUserFeatures()
    )
    outputs = user_id + item_id + item_features + user_features + targets
    workflow = nvt.Workflow(outputs)
    train_dataset = nvt.Dataset(train_path)
    valid_dataset = nvt.Dataset(valid_path)
    workflow.fit(train_dataset)
    workflow.transform(train_dataset).to_parquet(output_path=output_path + "/train/")
    workflow.transform(valid_dataset).to_parquet(output_path=output_path + "/valid/")
    workflow.save("/tmp/data/workflow")
    train = Dataset(os.path.join(output_path, "train", "*.parquet"))
    valid = Dataset(os.path.join(output_path, "valid", "*.parquet"))
    schema = train.schema
    target_column = schema.select_by_tag(Tags.TARGET).column_names[0]
    model = mm.DLRMModel(
        schema,
        embedding_dim=64,
        bottom_block=mm.MLPBlock([128, 64]),
        top_block=mm.MLPBlock([128, 64, 32]),
        prediction_tasks=mm.BinaryClassificationTask(target_column),
    )
    model.compile("adam", run_eagerly=False, metrics=[tf.keras.metrics.AUC()])
    model.fit(train, validation_data=valid, batch_size=BATCH_SIZE)
    model.save("/tmp/data/dlrm")
    tb.inject(
        """
        import os
        os.environ["INPUT_FOLDER"] = "/tmp/data/"
        """
    )
    NUM_OF_CELLS = len(tb.cells)
  tb.execute_cell(list(range(0, NUM_OF_CELLS - 12)))

tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py:85:


self = <testbook.client.TestbookNotebookClient object at 0x7f20cb5012e0>
cell = {'cell_type': 'markdown', 'id': '53908458', 'metadata': {'tags': []}, 'source': '## Create the Ensemble Graph\n\nAfter...\n

This operator will do something similar with the model, loaded before.
\n\n\nLet's give it a try.'}
kwargs = {}, cell_indexes = [0, 1, 2, 3, 4, 5, ...]
executed_cells = [{'cell_type': 'code', 'execution_count': 2, 'id': '620dd990', 'metadata': {'execution': {'iopub.status.busy': '2022-0...\nworkflow_stored_path = os.path.join(input_path, "workflow")\n\nworkflow = Workflow.load(workflow_stored_path)'}, ...]
idx = 13

def execute_cell(self, cell, **kwargs) -> Union[Dict, List[Dict]]:
    """
    Executes a cell or list of cells
    """
    if isinstance(cell, slice):
        start, stop = self._cell_index(cell.start), self._cell_index(cell.stop)
        if cell.step is not None:
            raise TestbookError('testbook does not support step argument')

        cell = range(start, stop + 1)
    elif isinstance(cell, str) or isinstance(cell, int):
        cell = [cell]

    cell_indexes = cell

    if all(isinstance(x, str) for x in cell):
        cell_indexes = [self._cell_index(tag) for tag in cell]

    executed_cells = []
    for idx in cell_indexes:
        try:
            cell = super().execute_cell(self.nb['cells'][idx], idx, **kwargs)
        except CellExecutionError as ce:
          raise TestbookRuntimeError(ce.evalue, ce, self._get_error_class(ce.ename))

E testbook.exceptions.TestbookRuntimeError: An error occurred while executing the following cell:
E ------------------
E from merlin.systems.dag.ops.workflow import TransformWorkflow
E from merlin.systems.dag.ops.tensorflow import PredictTensorflow
E
E serving_operators = workflow.input_schema.column_names >> TransformWorkflow(workflow) >> PredictTensorflow(model)
E ------------------
E
E �[0;31m---------------------------------------------------------------------------�[0m
E �[0;31mAttributeError�[0m Traceback (most recent call last)
E Input �[0;32mIn [8]�[0m, in �[0;36m<cell line: 4>�[0;34m()�[0m
E �[1;32m 1�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mworkflow�[39;00m �[38;5;28;01mimport�[39;00m TransformWorkflow
E �[1;32m 2�[0m �[38;5;28;01mfrom�[39;00m �[38;5;21;01mmerlin�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01msystems�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mdag�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mops�[39;00m�[38;5;21;01m.�[39;00m�[38;5;21;01mtensorflow�[39;00m �[38;5;28;01mimport�[39;00m PredictTensorflow
E �[0;32m----> 4�[0m serving_operators �[38;5;241m=�[39m workflow�[38;5;241m.�[39minput_schema�[38;5;241m.�[39mcolumn_names �[38;5;241m>>�[39m TransformWorkflow(workflow) �[38;5;241m>>�[39m �[43mPredictTensorflow�[49m�[43m(�[49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:62�[0m, in �[0;36mPredictTensorflow.__init__�[0;34m(self, model_or_path, custom_objects)�[0m
E �[1;32m 59�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mpath �[38;5;241m=�[39m �[38;5;28;01mNone�[39;00m
E �[1;32m 60�[0m �[38;5;28mself�[39m�[38;5;241m.�[39mmodel �[38;5;241m=�[39m model_or_path
E �[0;32m---> 62�[0m �[38;5;28mself�[39m�[38;5;241m.�[39minput_schema, �[38;5;28mself�[39m�[38;5;241m.�[39moutput_schema �[38;5;241m=�[39m �[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43m_infer_schemas_from_model�[49m�[43m(�[49m�[38;5;28;43mself�[39;49m�[38;5;241;43m.�[39;49m�[43mmodel�[49m�[43m)�[49m
E
E File �[0;32m~/workspace/merlin_systems/systems/merlin/systems/dag/ops/tensorflow.py:158�[0m, in �[0;36mPredictTensorflow._infer_schemas_from_model�[0;34m(self, model)�[0m
E �[1;32m 156�[0m �[38;5;28;01mfor�[39;00m col_name, _ �[38;5;129;01min�[39;00m signature_inputs�[38;5;241m.�[39mitems():
E �[1;32m 157�[0m elements �[38;5;241m=�[39m col_name�[38;5;241m.�[39msplit(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[0;32m--> 158�[0m stem �[38;5;241m=�[39m �[43melements�[49m�[43m[�[49m�[43m:�[49m�[38;5;241;43m-�[39;49m�[38;5;241;43m1�[39;49m�[43m]�[49m�[38;5;241;43m.�[39;49m�[43mjoin�[49m(�[38;5;124m"�[39m�[38;5;124m_�[39m�[38;5;124m"�[39m)
E �[1;32m 159�[0m suffix �[38;5;241m=�[39m elements[�[38;5;241m-�[39m�[38;5;241m1�[39m]
E �[1;32m 160�[0m col_suffixes[stem] �[38;5;241m|�[39m�[38;5;241m=�[39m {suffix}
E
E �[0;31mAttributeError�[0m: 'list' object has no attribute 'join'
E AttributeError: 'list' object has no attribute 'join'

/usr/local/lib/python3.8/dist-packages/testbook/client.py:135: TestbookRuntimeError
----------------------------- Captured stdout call -----------------------------

1/1368 [..............................] - ETA: 1:51:27 - loss: 0.6932 - auc: 0.5108 - regularization_loss: 0.0000e+00������������������������������������������������������������������������������������������������������������������������
6/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.4878 - regularization_loss: 0.0000e+00 ��������������������������������������������������������������������������������������������������������������������
11/1368 [..............................] - ETA: 16s - loss: 0.6932 - auc: 0.4935 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
16/1368 [..............................] - ETA: 16s - loss: 0.6933 - auc: 0.4949 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
21/1368 [..............................] - ETA: 15s - loss: 0.6932 - auc: 0.4972 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
26/1368 [..............................] - ETA: 15s - loss: 0.6932 - auc: 0.4965 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
31/1368 [..............................] - ETA: 15s - loss: 0.6933 - auc: 0.4933 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
36/1368 [..............................] - ETA: 14s - loss: 0.6933 - auc: 0.4925 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
41/1368 [..............................] - ETA: 14s - loss: 0.6933 - auc: 0.4935 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
46/1368 [>.............................] - ETA: 14s - loss: 0.6933 - auc: 0.4937 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
51/1368 [>.............................] - ETA: 14s - loss: 0.6933 - auc: 0.4939 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
56/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4951 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
61/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4958 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
66/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4970 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
71/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4982 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
76/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4983 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
81/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4983 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
86/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4982 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
91/1368 [>.............................] - ETA: 14s - loss: 0.6932 - auc: 0.4985 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
97/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
102/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
107/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
112/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
117/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.5001 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
122/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
127/1368 [=>............................] - ETA: 13s - loss: 0.6931 - auc: 0.5016 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
132/1368 [=>............................] - ETA: 13s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
137/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
142/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5002 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
147/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
152/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
157/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
162/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
167/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
172/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5004 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
177/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5004 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
182/1368 [==>...........................] - ETA: 13s - loss: 0.6932 - auc: 0.5004 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
187/1368 [===>..........................] - ETA: 13s - loss: 0.6932 - auc: 0.5004 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
192/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
197/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
202/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5009 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
207/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
212/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
217/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
222/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5004 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
227/1368 [===>..........................] - ETA: 12s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
232/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
237/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5006 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
242/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
247/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5008 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
252/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5007 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
257/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5005 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
262/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5001 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
267/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
272/1368 [====>.........................] - ETA: 12s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
277/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
282/1368 [=====>........................] - ETA: 12s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
287/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
292/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
298/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
303/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
308/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
313/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
318/1368 [=====>........................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
323/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
328/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
333/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
338/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
343/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
348/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
353/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
358/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
363/1368 [======>.......................] - ETA: 11s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
368/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
373/1368 [=======>......................] - ETA: 11s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
378/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
383/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
388/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
393/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
398/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
403/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
408/1368 [=======>......................] - ETA: 10s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
413/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
418/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
423/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
428/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
433/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
438/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4987 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
443/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4987 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
448/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4987 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
453/1368 [========>.....................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
458/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
463/1368 [=========>....................] - ETA: 10s - loss: 0.6932 - auc: 0.4988 - regularization_loss: 0.0000e+00��������������������������������������������������������������������������������������������������������������������
468/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00 �������������������������������������������������������������������������������������������������������������������
473/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
478/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
483/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
488/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4989 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
493/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
498/1368 [=========>....................] - ETA: 9s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
503/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
508/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4990 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
513/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
518/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
523/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
528/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
533/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
538/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
543/1368 [==========>...................] - ETA: 9s - loss: 0.6932 - auc: 0.4991 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
548/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
553/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.4992 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
558/1368 [===========>..................] - ETA: 9s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
563/1368 [===========>..................] - ETA: 8s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
568/1368 [===========>..................] - ETA: 8s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
573/1368 [===========>..................] - ETA: 8s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
578/1368 [===========>..................] - ETA: 8s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
583/1368 [===========>..................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
588/1368 [===========>..................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
593/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
598/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
603/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
608/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
613/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
618/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
624/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
629/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
634/1368 [============>.................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
639/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
645/1368 [=============>................] - ETA: 8s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
650/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
655/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
660/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
665/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
670/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
675/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
680/1368 [=============>................] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
685/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
690/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
695/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
700/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
705/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
710/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
715/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
720/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
725/1368 [==============>...............] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
730/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
735/1368 [===============>..............] - ETA: 7s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
740/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
745/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
750/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
755/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
760/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
765/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
770/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
775/1368 [===============>..............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
780/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
785/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
790/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
795/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
800/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
805/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
810/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
816/1368 [================>.............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
821/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
826/1368 [=================>............] - ETA: 6s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
831/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
836/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
841/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
846/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
851/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
856/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
861/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
866/1368 [=================>............] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
871/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
876/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
881/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
886/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
891/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
896/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
901/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
906/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
911/1368 [==================>...........] - ETA: 5s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
916/1368 [===================>..........] - ETA: 5s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
921/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
926/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
931/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
936/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
941/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
946/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
951/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
956/1368 [===================>..........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
961/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
966/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
971/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
977/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
982/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
987/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
993/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
998/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1003/1368 [====================>.........] - ETA: 4s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1008/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1013/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1018/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1023/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1028/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1034/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1039/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1044/1368 [=====================>........] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1049/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1054/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1059/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1064/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1069/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1074/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1079/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1084/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1089/1368 [======================>.......] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1095/1368 [=======================>......] - ETA: 3s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1100/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1105/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1110/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1115/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1120/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1125/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1130/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1135/1368 [=======================>......] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1140/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1145/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1150/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1155/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1160/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1165/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1170/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1175/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1180/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1185/1368 [========================>.....] - ETA: 2s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1190/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1195/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1200/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4993 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1205/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1210/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1215/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1220/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1225/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1230/1368 [=========================>....] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1235/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4994 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1240/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1245/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4995 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1250/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1255/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4996 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1260/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1265/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4997 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1270/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1275/1368 [==========================>...] - ETA: 1s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1280/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.4998 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1284/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1289/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1294/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1299/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1304/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5001 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1309/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5001 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1314/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1319/1368 [===========================>..] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1324/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.5000 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1329/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1334/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1339/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1344/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1349/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1354/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1359/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1364/1368 [============================>.] - ETA: 0s - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00�������������������������������������������������������������������������������������������������������������������
1368/1368 [==============================] - 23s 14ms/step - loss: 0.6932 - auc: 0.4999 - regularization_loss: 0.0000e+00 - val_loss: 0.6931 - val_auc: 0.4998 - val_regularization_loss: 0.0000e+00
----------------------------- Captured stderr call -----------------------------
2022-08-17 15:27:38.261549: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-08-17 15:27:40.325096: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1627 MB memory: -> device: 0, name: Tesla P100-DGXS-16GB, pci bus id: 0000:07:00.0, compute capability: 6.0
2022-08-17 15:27:40.325834: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 15129 MB memory: -> device: 1, name: Tesla P100-DGXS-16GB, pci bus id: 0000:08:00.0, compute capability: 6.0
2022-08-17 15:28:21.789894: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-08-17 15:28:23.834357: I tensorflow/core/common_runtime/gpu/gpu_process_state.cc:222] Using CUDA malloc Async allocator for GPU: 0
2022-08-17 15:28:23.834513: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1627 MB memory: -> device: 0, name: Tesla P100-DGXS-16GB, pci bus id: 0000:07:00.0, compute capability: 6.0
2022-08-17 15:28:23.835312: I tensorflow/core/common_runtime/gpu/gpu_process_state.cc:222] Using CUDA malloc Async allocator for GPU: 1
2022-08-17 15:28:23.835369: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Created device /job:localhost/replica:0/task:0/device:GPU:1 with 14508 MB memory: -> device: 1, name: Tesla P100-DGXS-16GB, pci bus id: 0000:08:00.0, compute capability: 6.0
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python3.8/logging/init.py", line 2127, in shutdown
h.close()
File "/usr/local/lib/python3.8/dist-packages/absl/logging/init.py", line 934, in close
self.stream.close()
File "/usr/local/lib/python3.8/dist-packages/ipykernel/iostream.py", line 438, in close
self.watch_fd_thread.join()
AttributeError: 'OutStream' object has no attribute 'watch_fd_thread'
------------------------------ Captured log call -------------------------------
WARNING absl:save.py:233 Found untraced functions such as model_context_layer_call_fn, model_context_layer_call_and_return_conditional_losses, output_layer_layer_call_fn, output_layer_layer_call_and_return_conditional_losses, prediction_layer_call_fn while saving (showing 5 of 70). These functions will not be directly callable after loading.
______________ test_workflow_tf_e2e_config_verification[parquet] _______________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-10/test_workflow_tf_e2e_config_ve0')
dataset = <merlin.io.dataset.Dataset object at 0x7f1f12073d60>
engine = 'parquet'

@pytest.mark.skipif(not TRITON_SERVER_PATH, reason="triton server not found")
@pytest.mark.parametrize("engine", ["parquet"])
def test_workflow_tf_e2e_config_verification(tmpdir, dataset, engine):
    # Create a Workflow
    schema = dataset.schema
    for name in ["x", "y", "id"]:
        dataset.schema.column_schemas[name] = dataset.schema.column_schemas[name].with_tags(
            [Tags.USER]
        )
    selector = ColumnSelector(["x", "y", "id"])

    workflow_ops = selector >> wf_ops.Rename(postfix="_nvt")
    workflow = Workflow(workflow_ops["x_nvt"])
    workflow.fit(dataset)

    # Create Tensorflow Model
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="x_nvt", dtype=tf.float64, shape=(1,)),
            tf.keras.layers.Dense(16, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(1, name="output"),
        ]
    )
    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Creating Triton Ensemble
    triton_chain = (
      selector >> TransformWorkflow(workflow, cats=["x_nvt"]) >> PredictTensorflow(model)
    )

tests/unit/systems/ops/tf/test_ensemble.py:86:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f202065ebb0>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________________ test_workflow_tf_e2e_multi_op_run[parquet] __________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-10/test_workflow_tf_e2e_multi_op_0')
dataset = <merlin.io.dataset.Dataset object at 0x7f20704d04c0>
engine = 'parquet'

@pytest.mark.skipif(not TRITON_SERVER_PATH, reason="triton server not found")
@pytest.mark.parametrize("engine", ["parquet"])
def test_workflow_tf_e2e_multi_op_run(tmpdir, dataset, engine):
    # Create a Workflow
    schema = dataset.schema
    for name in ["x", "y", "id"]:
        dataset.schema.column_schemas[name] = dataset.schema.column_schemas[name].with_tags(
            [Tags.USER]
        )

    workflow_ops = ["name-cat"] >> wf_ops.Categorify(cat_cache="host")
    workflow = Workflow(workflow_ops)
    workflow.fit(dataset)

    embedding_shapes_1 = wf_ops.get_embedding_sizes(workflow)

    cats = ["name-string"] >> wf_ops.Categorify(cat_cache="host")
    workflow_2 = Workflow(cats)
    workflow_2.fit(dataset)

    embedding_shapes = wf_ops.get_embedding_sizes(workflow_2)
    embedding_shapes_1.update(embedding_shapes)
    # Create Tensorflow Model
    model = create_tf_model(["name-cat", "name-string"], [], embedding_shapes_1)

    # Creating Triton Ensemble
    triton_chain_1 = ["name-cat"] >> TransformWorkflow(workflow)
    triton_chain_2 = ["name-string"] >> TransformWorkflow(workflow_2)
  triton_chain = (triton_chain_1 + triton_chain_2) >> PredictTensorflow(model)

tests/unit/systems/ops/tf/test_ensemble.py:141:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f20601076a0>
model = Functional(
(optimizer): SGD()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING absl:signature_serialization.py:146 Function _wrapped_model contains input name(s) name-cat, name-string with unsupported characters which will be renamed to name_cat, name_string in the SavedModel.
WARNING absl:save.py:133 DenseFeatures(
(feature_columns): List(
(0): EmbeddingColumn(categorical_column=IdentityCategoricalColumn(key='name-cat', number_buckets=27, default_value=None), dimension=16, combiner='mean', initializer=<tensorflow.python.ops.init_ops.TruncatedNormal object at 0x7f2060045610>, ckpt_to_load_from=None, tensor_name_in_ckpt=None, max_norm=None, trainable=True, use_safe_embedding_lookup=True)
(1): EmbeddingColumn(categorical_column=IdentityCategoricalColumn(key='name-string', number_buckets=27, default_value=None), dimension=16, combiner='mean', initializer=<tensorflow.python.ops.init_ops.TruncatedNormal object at 0x7f20485a1280>, ckpt_to_load_from=None, tensor_name_in_ckpt=None, max_norm=None, trainable=True, use_safe_embedding_lookup=True)
)
(embedding_tables): Dict(
(name-cat): <tf.Variable 'dense_features_1/name-cat/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[ 2.84256116e-02, -3.32123995e-01, -2.07312346e-01,
-2.50514187e-02, 2.17848077e-01, 4.27614719e-01,
3.65338653e-01, 1.02445558e-01, 4.21367764e-01,
1.20375074e-01, 2.15556905e-01, -2.57682860e-01,
-2.12802604e-01, -4.08788800e-01, 1.75345540e-02,
1.98028013e-01],
[-3.02813798e-01, 3.98139805e-01, 8.91118348e-02,
-1.01383865e-01, 6.02103136e-02, -4.50133651e-01,
-2.88482249e-01, 5.77383004e-02, 7.63747143e-03,
2.52631046e-02, 1.34161189e-01, -5.45563139e-02,
9.02934447e-02, 2.30639763e-02, 4.12021071e-01,
4.04171824e-01],
[-1.53549910e-01, 1.23232249e-02, -8.22720975e-02,
4.84703034e-02, 2.43518561e-01, -4.09011751e-01,
2.11928830e-01, 3.05086911e-01, 2.85019964e-01,
-2.24284325e-02, -1.27364874e-01, 4.40651298e-01,
-7.35665858e-03, 1.22666560e-01, -1.23216614e-01,
7.78004900e-02],
[-6.53573573e-02, 2.60849893e-01, -1.83054730e-01,
-6.05141558e-02, 1.35224670e-01, 2.23223835e-01,
3.60963255e-01, 1.05903126e-01, 1.15795821e-01,
-3.00179362e-01, 4.46591735e-01, 2.10764289e-01,
-2.76909262e-01, -2.13123098e-01, 6.07870035e-02,
-3.71743478e-02],
[ 1.47572875e-01, 2.26428211e-01, 1.84944212e-01,
3.14174473e-01, -2.25481577e-02, -1.70935392e-01,
-7.15703294e-02, 9.76805463e-02, -1.26133859e-01,
6.97038993e-02, -1.54447392e-01, -2.96345055e-01,
-3.44475405e-03, -4.55338895e-01, 1.33402392e-01,
1.55295543e-02],
[ 1.12001531e-01, -5.88881001e-02, -1.08752005e-01,
9.30931866e-02, 7.14146718e-02, -4.27678198e-01,
-2.14894429e-01, 1.33826762e-01, 1.72423899e-01,
1.92650184e-02, -6.30902424e-02, -1.64482191e-01,
-2.21343784e-04, -6.48746118e-02, 1.60378724e-01,
1.55430019e-01],
[ 1.15828671e-01, -2.84144399e-03, -1.10498190e-01,
1.64233252e-01, -6.18498996e-02, 1.51017413e-01,
-2.56831318e-01, -1.28478959e-01, -1.66390970e-01,
1.91456228e-01, 1.46594882e-01, 1.25863418e-01,
5.53663746e-02, -9.03495550e-02, 3.55631895e-02,
8.35938603e-02],
[-4.75998610e-01, 2.19309121e-01, -1.65421501e-01,
1.58467382e-01, -2.91356623e-01, -2.07747966e-01,
3.79710495e-01, 8.70282426e-02, 1.47262990e-01,
6.24692403e-02, 8.81434083e-02, 1.99471358e-02,
-3.68423834e-02, -3.09900582e-01, -1.75875545e-01,
-1.05079196e-01],
[ 1.54954657e-01, -1.21245999e-02, 1.96829498e-01,
-9.36377570e-02, -2.07742020e-01, -2.48107255e-01,
-4.36941050e-02, -8.02812800e-02, 2.61938572e-01,
-2.99085587e-01, -6.09830730e-02, 1.77275822e-01,
3.79813969e-01, -2.07733437e-01, 3.32728446e-01,
4.67229038e-02],
[-3.08085736e-02, 5.29168434e-02, 1.71822965e-01,
-2.86138237e-01, 1.93634689e-01, -2.21019953e-01,
4.00683314e-01, -3.51454824e-01, -1.71608031e-01,
3.77436876e-01, -2.58956365e-02, 5.67394905e-02,
-1.06708519e-01, 1.19394258e-01, -1.42000496e-01,
-2.39376560e-01],
[ 1.38182521e-01, -3.71072888e-01, -1.61390349e-01,
4.53985810e-01, -1.41660362e-01, -2.80926138e-01,
7.56420866e-02, 3.98924053e-01, 3.53309549e-02,
-1.36549443e-01, 1.67654574e-01, 1.44590050e-01,
1.40621766e-01, 1.09765016e-01, -4.48335767e-01,
3.64967376e-01],
[-1.28261283e-01, -1.70329347e-01, -1.17100902e-01,
1.17357008e-01, -4.04655129e-01, 2.56147265e-01,
6.89477473e-02, -3.41668457e-01, 1.76261172e-01,
1.90567747e-01, 1.06581964e-01, 2.47385830e-01,
1.91701904e-01, -1.16502352e-01, -1.88951567e-01,
-5.23274466e-02],
[-1.49938241e-01, 3.88255924e-01, 1.06921203e-01,
4.50564772e-01, -1.77187890e-01, -3.10875028e-01,
2.64274925e-01, -1.26352131e-01, 2.57745475e-01,
-6.38874769e-02, 9.52946618e-02, 1.69124827e-01,
1.43262953e-01, 2.27641121e-01, 2.18170017e-01,
1.96240634e-01],
[ 1.48586556e-01, -1.24218851e-01, -1.20223798e-02,
-1.82482213e-01, -3.99025500e-01, 1.18716523e-01,
-1.31923273e-01, 5.25973402e-02, -1.65401697e-01,
4.76042897e-01, 2.54010588e-01, 1.24761552e-01,
2.01919496e-01, 2.71470785e-01, 9.30914581e-02,
-3.99844199e-01],
[-2.19876617e-01, 1.74468994e-01, -1.36168018e-01,
1.67951226e-01, 1.64747730e-01, 1.28720567e-01,
1.42563358e-01, -1.06711470e-01, 3.77844185e-01,
-2.52675414e-01, -1.16414905e-01, 7.86945820e-02,
-2.66783953e-01, 3.48075420e-01, -1.32602081e-01,
-1.64222941e-02],
[ 3.67545962e-01, -9.60241705e-02, 3.36370384e-03,
-2.57017404e-01, -1.29753187e-01, -7.30456843e-04,
-5.59695624e-02, 3.40003312e-01, 2.66809285e-01,
2.14262813e-01, 1.87216237e-01, 3.92041445e-01,
-3.18859555e-02, -2.99801528e-01, -3.52314673e-02,
-3.14018488e-01],
[-2.46213078e-02, -1.06281102e-01, -1.40357977e-02,
2.82571107e-01, 1.61490440e-01, -8.15302953e-02,
-2.31299568e-02, -1.81549266e-01, 1.15714654e-01,
-1.78711623e-01, -1.22451380e-01, -9.02583674e-02,
-4.34838057e-01, -1.57137755e-02, -3.67354900e-02,
9.30452645e-02],
[-3.06512326e-01, 3.21924865e-01, -8.51738825e-02,
2.06404179e-01, 1.99192584e-01, -6.74270242e-02,
3.00358087e-01, -3.24921697e-01, 1.27443239e-01,
-3.42435330e-01, 4.83571040e-03, -2.75479227e-01,
4.16270783e-03, 1.94761366e-01, 3.46238017e-02,
-1.43209130e-01],
[ 2.30466768e-01, -4.50272292e-01, -1.20272145e-01,
-1.45456688e-02, 7.50369113e-03, 3.87558639e-01,
2.96384454e-01, -2.78996110e-01, -1.61517680e-01,
2.18919516e-01, 2.40374640e-01, 4.03991938e-02,
-9.91845578e-02, 1.32351756e-01, 1.96589500e-01,
2.75746763e-01],
[-1.07541054e-01, 2.54979998e-01, -1.75046757e-01,
-2.00653881e-01, -1.68440994e-02, 6.95943972e-03,
-3.73291969e-01, -3.96114171e-01, 4.63438451e-01,
1.76935628e-01, -3.08104604e-01, 9.93756354e-02,
8.59037116e-02, -1.34493828e-01, 2.26277441e-01,
-1.76851496e-01],
[-2.51365434e-02, -2.29278296e-01, 6.98945224e-02,
-1.23907246e-01, -1.60500675e-01, -4.66118962e-01,
-5.93035705e-02, 2.72943914e-01, -1.86401889e-01,
-8.29315186e-02, -5.08722849e-02, 1.41523391e-01,
-2.01180372e-02, -6.14240095e-02, 1.18729390e-01,
-3.68530452e-01],
[-2.26935148e-01, -2.72357851e-01, 1.43210828e-01,
2.02704176e-01, 9.49994400e-02, 2.36191735e-01,
-2.41023287e-01, 8.81800577e-02, 3.79409730e-01,
2.51186490e-01, 1.00512795e-01, -6.12199455e-02,
-5.81783578e-02, -1.46764547e-01, 1.75645277e-01,
-1.76109031e-01],
[-1.65895000e-03, -1.56951651e-01, -5.69537580e-02,
1.03702374e-01, -1.03200532e-01, 2.88883954e-01,
4.58444804e-01, 1.31770922e-02, 9.96536296e-03,
1.52559146e-01, -3.05929240e-02, -5.77684790e-02,
4.87174205e-02, -8.94666314e-02, 2.66040564e-01,
-1.25924140e-01],
[-2.45850552e-02, 1.47692695e-01, 1.50237396e-01,
8.91699195e-02, 9.45390910e-02, -1.70422629e-01,
-1.03414237e-01, 1.31038398e-01, -1.25831455e-01,
-1.06988154e-01, 1.69369295e-01, 3.64930034e-01,
2.44203642e-01, 1.08573101e-02, 6.25731349e-02,
5.00081852e-02],
[-4.87715185e-01, 1.22569352e-01, 9.76240411e-02,
-3.69255751e-01, -3.27315107e-02, 4.77732748e-01,
8.47483501e-02, 2.27841467e-01, 1.28829822e-01,
6.62216246e-02, 1.40299082e-01, -5.10666147e-03,
-5.92035688e-02, 1.44513488e-01, 4.61318642e-02,
9.24387574e-02],
[ 1.31622702e-01, 2.35115319e-01, 3.16902906e-01,
2.62499958e-01, -2.02617839e-01, -3.00487727e-01,
-1.98768079e-01, -1.51704568e-02, 2.87955821e-01,
1.85911939e-01, 4.35867578e-01, 6.52332082e-02,
2.72120893e-01, -2.15846077e-01, 3.78105760e-01,
-1.20439030e-01],
[-1.81667671e-01, 9.03200209e-02, 1.34301573e-01,
-3.64713311e-01, 3.15827221e-01, 6.53790906e-02,
-7.04066232e-02, 8.95518959e-02, -2.27551445e-01,
-1.93000697e-02, -1.14412993e-01, -5.15406660e-04,
-2.06291065e-01, -8.25157687e-02, 8.39564428e-02,
1.93390608e-01]], dtype=float32)>
(name-string): <tf.Variable 'dense_features_1/name-string/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[ 1.18967034e-01, 2.92321276e-02, -1.76486209e-01,
-2.28929818e-01, -6.65387139e-02, 1.69927403e-01,
-1.97796151e-02, -2.31039021e-02, -1.88842544e-03,
-1.50341853e-01, 3.86345387e-02, -1.86019227e-01,
-4.64328341e-02, -1.06947601e-01, -9.96594056e-02,
-1.72566429e-01],
[ 1.49610028e-01, -1.87470332e-01, -1.99090406e-01,
9.40031409e-02, 1.74168553e-02, -1.09434845e-02,
-2.06563175e-01, 1.12327151e-01, 4.14121598e-01,
9.17794649e-03, 1.32261321e-01, 1.76019132e-01,
-3.04738339e-02, -1.13267317e-01, 4.09068346e-01,
-6.66157901e-02],
[ 2.27153227e-01, 4.71256822e-02, -1.72013208e-01,
-9.41603482e-02, -2.00988114e-01, -1.05393745e-01,
5.09681515e-02, 2.68539488e-01, 2.58423328e-01,
-2.45049119e-01, -1.93861619e-01, 2.21965253e-01,
-2.00365469e-01, -2.85231888e-01, 1.92369372e-01,
2.09767312e-01],
[ 2.83991754e-01, -1.23994209e-01, 1.82268411e-01,
-1.04609169e-01, 1.02349013e-01, 1.37459496e-02,
-2.30179913e-02, 2.18352124e-01, -3.19157634e-03,
-2.62891948e-01, -2.75346607e-01, 2.72067487e-01,
4.86978069e-02, 1.61315605e-01, -6.31684959e-02,
8.90359841e-03],
[-2.59977430e-02, -1.05720600e-02, 2.18444780e-01,
1.93986118e-01, -2.67647356e-01, 4.31233615e-01,
-2.91791797e-01, 2.00713426e-01, 2.70631373e-01,
2.29927108e-01, 4.20321912e-01, -1.28145054e-01,
3.35146844e-01, 3.31801444e-01, -1.21132784e-01,
-2.57677108e-01],
[-2.49986649e-01, 1.84357315e-01, 1.68806195e-01,
-2.38449145e-02, -4.11943942e-01, -4.21456471e-02,
-1.70945078e-01, 8.12473074e-02, 2.16492219e-03,
1.76076666e-01, -6.76024333e-02, -2.75238186e-01,
-2.28679210e-01, 2.31550738e-01, -1.83594748e-01,
3.40504318e-01],
[ 2.10440725e-01, 1.61059931e-01, -1.18313730e-01,
-3.43459882e-02, -9.92946476e-02, 4.34724726e-02,
-4.37830180e-01, 6.62305355e-02, 2.09055126e-01,
1.75547108e-01, 2.36244407e-02, 1.74002737e-01,
-1.48994267e-01, -1.65328130e-01, -2.28185698e-01,
3.87921594e-02],
[-4.51003723e-02, 4.03952390e-01, 4.01075510e-03,
-4.54353131e-02, 2.63624843e-02, -2.02038497e-01,
5.61266132e-02, 6.54248670e-02, 4.66845423e-01,
3.13469470e-01, -1.03301734e-01, -3.82949561e-01,
-3.06103309e-03, 3.02399844e-01, 4.77366954e-01,
4.97919023e-02],
[-9.88331810e-02, 2.18374625e-01, 2.31964767e-01,
1.00447368e-02, -1.04908668e-01, -1.95465595e-01,
1.41900927e-01, 2.28023589e-01, -7.51284212e-02,
-5.86277433e-02, -1.25229463e-01, -4.67425538e-03,
4.33962420e-02, -4.47828732e-02, -1.75607771e-01,
-2.31775761e-01],
[ 1.13602616e-01, -3.12391192e-01, 2.75872916e-01,
-6.77529126e-02, 8.20163414e-02, -6.07334487e-02,
2.18247101e-01, 2.42366627e-01, -8.22153315e-02,
3.96689594e-01, 1.47577316e-01, -1.41363041e-02,
-4.88557994e-01, -1.15490124e-01, -1.02403395e-01,
2.07850724e-01],
[-5.40497378e-02, 1.51120991e-01, 1.67969242e-01,
-1.14738189e-01, -3.29858720e-01, -7.99697265e-02,
1.77691042e-01, 1.27177820e-01, -1.03104346e-01,
4.08822671e-02, -4.30394828e-01, -4.32390481e-01,
-1.43764645e-01, 8.00784398e-03, -1.10336654e-01,
-1.02180973e-01],
[-1.67042211e-01, -2.68340893e-02, 1.20355375e-01,
-1.09719552e-01, -1.16189558e-03, -2.22044796e-01,
1.01806194e-01, -3.84172082e-01, 2.20021307e-01,
-6.39186278e-02, -8.94495472e-02, -2.33107820e-01,
3.51457670e-02, -8.31109807e-02, -4.65139002e-02,
-7.82957207e-03],
[-5.57014421e-02, 1.60153806e-01, -3.62584710e-01,
2.34360203e-01, 1.99960247e-01, 1.43566966e-01,
-2.42830023e-01, 1.41657606e-01, -3.13240886e-01,
-1.36882320e-01, -3.85357916e-01, 3.59099388e-01,
1.66408002e-01, 1.02293558e-01, -1.26212299e-01,
1.77119344e-01],
[-3.69888365e-01, 2.03939781e-01, -4.20594178e-02,
-1.58850968e-01, -3.46698016e-01, -2.91390806e-01,
-3.40127617e-01, 3.91869754e-01, -2.64035732e-01,
-2.04378635e-01, 4.76557821e-01, 1.36029795e-01,
-5.86226024e-02, 5.89034036e-02, 3.16488832e-01,
-2.72643983e-01],
[-7.06708059e-02, -3.10156047e-01, 1.29403368e-01,
2.16595978e-01, -1.80980284e-03, -1.48048192e-01,
6.41446039e-02, 3.83869499e-01, 2.32544884e-01,
2.89239734e-01, 2.39318997e-01, 3.30129981e-01,
1.73607767e-02, -3.49312901e-01, -2.74222076e-01,
1.76880971e-01],
[ 1.63852498e-01, 2.03557923e-01, 2.00394869e-01,
6.18965775e-02, 2.71036744e-01, 9.22893360e-02,
8.12288299e-02, 1.81755006e-01, 2.98930228e-01,
-2.99620658e-01, 3.16586904e-02, -2.38540947e-01,
-3.63405287e-01, -1.20572671e-02, -2.86771864e-01,
-2.62823969e-01],
[-2.26186458e-02, -9.41400900e-02, -4.27094519e-01,
1.10212147e-01, 1.53813079e-01, 6.93100467e-02,
-1.42195800e-04, -1.20844536e-01, -4.46691424e-01,
3.06512564e-02, -3.71618629e-01, 9.22876447e-02,
-1.44279495e-01, 2.08915174e-01, -4.15059119e-01,
-2.42299989e-01],
[-2.72436142e-02, 2.17793375e-01, -2.28318259e-01,
-3.75208527e-01, 2.48146519e-01, 2.35483482e-01,
-1.46514714e-01, -3.77885044e-01, -3.31118852e-02,
-3.59903723e-01, -3.95605937e-02, 5.75538166e-02,
-2.61564791e-01, -1.60099491e-01, -8.35499018e-02,
-2.32141033e-01],
[ 3.38263214e-01, 1.71423927e-01, 2.98525095e-01,
2.16879621e-01, 3.43940035e-02, -4.54301536e-02,
1.60101995e-01, -1.49493858e-01, -3.05257827e-01,
5.19734025e-02, 6.02495670e-02, -9.82476771e-02,
-4.45640117e-01, -8.20776150e-02, 2.54883111e-01,
-6.60333633e-02],
[ 2.99775690e-01, 1.41851753e-01, -5.31714316e-03,
2.16588899e-01, 1.58190235e-01, 1.53040469e-01,
-4.28432584e-01, -4.02808368e-01, 1.46233961e-01,
-1.50375336e-01, 1.41472265e-01, -4.28757928e-02,
-1.87336892e-01, 1.46883443e-01, 4.41128761e-01,
-7.59969056e-02],
[-1.60196275e-01, -4.36054543e-02, -6.07244000e-02,
3.35108519e-01, 1.09173737e-01, 3.00306976e-01,
-4.49515581e-02, 6.01102319e-03, 8.23133960e-02,
2.09165141e-01, -1.41447172e-01, -2.44032323e-01,
1.45557299e-01, 3.44309479e-01, 2.58091968e-02,
-1.53135255e-01],
[-9.25506800e-02, -1.73944071e-01, -1.71935335e-01,
-2.92379111e-01, 6.24492718e-03, -3.73581164e-02,
-3.34139615e-01, 3.49567644e-02, -2.55558014e-01,
-2.82421738e-01, -1.98891446e-01, 3.58878337e-02,
3.38232554e-02, -1.16069652e-01, -1.93557337e-01,
3.76897365e-01],
[ 6.59099743e-02, -1.53472170e-01, 1.56013399e-01,
-1.91189617e-01, 4.11018543e-02, -3.86108980e-02,
4.48592186e-01, -1.97023451e-02, 1.55843392e-01,
8.17219913e-02, 1.58590246e-02, 1.12193674e-01,
2.64049739e-01, -1.16889276e-01, 9.67301801e-02,
-2.31196024e-02],
[ 3.91733021e-01, 7.00295493e-02, 4.87009227e-01,
2.64429539e-01, 2.56948829e-01, -1.88441761e-02,
-1.12598963e-01, -8.66694842e-03, 1.75418630e-01,
3.71447116e-01, 2.48563185e-01, 1.51667133e-01,
-2.20290795e-01, 2.51475285e-04, 2.51901448e-01,
-1.52616367e-01],
[-1.74495652e-01, -2.69937754e-01, 4.86779034e-01,
-2.23996177e-01, -7.28479102e-02, 2.36547410e-01,
1.92486838e-01, 1.41892536e-02, 3.09850723e-01,
-2.19418690e-01, 9.92603227e-02, -3.76376867e-01,
1.48199067e-01, -2.27234483e-01, -1.81832194e-01,
-1.78541522e-02],
[ 1.06901012e-01, 2.84270257e-01, 1.67041421e-01,
-8.09638649e-02, -2.14941129e-01, 3.72773021e-01,
1.46967947e-01, 3.90462607e-01, -2.78370649e-01,
3.47034074e-02, -1.32453188e-01, 6.21488839e-02,
4.01402026e-01, -7.52155855e-02, -1.29957214e-01,
-2.09512874e-01],
[ 3.62448096e-01, -2.77776331e-01, -2.48599276e-01,
-3.73271614e-01, 2.62109727e-01, 1.13126434e-01,
1.33151546e-01, -1.43124327e-01, -8.19027610e-03,
2.44280417e-02, 7.58303031e-02, 3.01800132e-01,
-8.54269564e-02, -1.84654444e-01, -8.56844634e-02,
9.73571315e-02]], dtype=float32)>
)
(name-cat/embedding_weights): <tf.Variable 'dense_features_1/name-cat/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[ 2.84256116e-02, -3.32123995e-01, -2.07312346e-01,
-2.50514187e-02, 2.17848077e-01, 4.27614719e-01,
3.65338653e-01, 1.02445558e-01, 4.21367764e-01,
1.20375074e-01, 2.15556905e-01, -2.57682860e-01,
-2.12802604e-01, -4.08788800e-01, 1.75345540e-02,
1.98028013e-01],
[-3.02813798e-01, 3.98139805e-01, 8.91118348e-02,
-1.01383865e-01, 6.02103136e-02, -4.50133651e-01,
-2.88482249e-01, 5.77383004e-02, 7.63747143e-03,
2.52631046e-02, 1.34161189e-01, -5.45563139e-02,
9.02934447e-02, 2.30639763e-02, 4.12021071e-01,
4.04171824e-01],
[-1.53549910e-01, 1.23232249e-02, -8.22720975e-02,
4.84703034e-02, 2.43518561e-01, -4.09011751e-01,
2.11928830e-01, 3.05086911e-01, 2.85019964e-01,
-2.24284325e-02, -1.27364874e-01, 4.40651298e-01,
-7.35665858e-03, 1.22666560e-01, -1.23216614e-01,
7.78004900e-02],
[-6.53573573e-02, 2.60849893e-01, -1.83054730e-01,
-6.05141558e-02, 1.35224670e-01, 2.23223835e-01,
3.60963255e-01, 1.05903126e-01, 1.15795821e-01,
-3.00179362e-01, 4.46591735e-01, 2.10764289e-01,
-2.76909262e-01, -2.13123098e-01, 6.07870035e-02,
-3.71743478e-02],
[ 1.47572875e-01, 2.26428211e-01, 1.84944212e-01,
3.14174473e-01, -2.25481577e-02, -1.70935392e-01,
-7.15703294e-02, 9.76805463e-02, -1.26133859e-01,
6.97038993e-02, -1.54447392e-01, -2.96345055e-01,
-3.44475405e-03, -4.55338895e-01, 1.33402392e-01,
1.55295543e-02],
[ 1.12001531e-01, -5.88881001e-02, -1.08752005e-01,
9.30931866e-02, 7.14146718e-02, -4.27678198e-01,
-2.14894429e-01, 1.33826762e-01, 1.72423899e-01,
1.92650184e-02, -6.30902424e-02, -1.64482191e-01,
-2.21343784e-04, -6.48746118e-02, 1.60378724e-01,
1.55430019e-01],
[ 1.15828671e-01, -2.84144399e-03, -1.10498190e-01,
1.64233252e-01, -6.18498996e-02, 1.51017413e-01,
-2.56831318e-01, -1.28478959e-01, -1.66390970e-01,
1.91456228e-01, 1.46594882e-01, 1.25863418e-01,
5.53663746e-02, -9.03495550e-02, 3.55631895e-02,
8.35938603e-02],
[-4.75998610e-01, 2.19309121e-01, -1.65421501e-01,
1.58467382e-01, -2.91356623e-01, -2.07747966e-01,
3.79710495e-01, 8.70282426e-02, 1.47262990e-01,
6.24692403e-02, 8.81434083e-02, 1.99471358e-02,
-3.68423834e-02, -3.09900582e-01, -1.75875545e-01,
-1.05079196e-01],
[ 1.54954657e-01, -1.21245999e-02, 1.96829498e-01,
-9.36377570e-02, -2.07742020e-01, -2.48107255e-01,
-4.36941050e-02, -8.02812800e-02, 2.61938572e-01,
-2.99085587e-01, -6.09830730e-02, 1.77275822e-01,
3.79813969e-01, -2.07733437e-01, 3.32728446e-01,
4.67229038e-02],
[-3.08085736e-02, 5.29168434e-02, 1.71822965e-01,
-2.86138237e-01, 1.93634689e-01, -2.21019953e-01,
4.00683314e-01, -3.51454824e-01, -1.71608031e-01,
3.77436876e-01, -2.58956365e-02, 5.67394905e-02,
-1.06708519e-01, 1.19394258e-01, -1.42000496e-01,
-2.39376560e-01],
[ 1.38182521e-01, -3.71072888e-01, -1.61390349e-01,
4.53985810e-01, -1.41660362e-01, -2.80926138e-01,
7.56420866e-02, 3.98924053e-01, 3.53309549e-02,
-1.36549443e-01, 1.67654574e-01, 1.44590050e-01,
1.40621766e-01, 1.09765016e-01, -4.48335767e-01,
3.64967376e-01],
[-1.28261283e-01, -1.70329347e-01, -1.17100902e-01,
1.17357008e-01, -4.04655129e-01, 2.56147265e-01,
6.89477473e-02, -3.41668457e-01, 1.76261172e-01,
1.90567747e-01, 1.06581964e-01, 2.47385830e-01,
1.91701904e-01, -1.16502352e-01, -1.88951567e-01,
-5.23274466e-02],
[-1.49938241e-01, 3.88255924e-01, 1.06921203e-01,
4.50564772e-01, -1.77187890e-01, -3.10875028e-01,
2.64274925e-01, -1.26352131e-01, 2.57745475e-01,
-6.38874769e-02, 9.52946618e-02, 1.69124827e-01,
1.43262953e-01, 2.27641121e-01, 2.18170017e-01,
1.96240634e-01],
[ 1.48586556e-01, -1.24218851e-01, -1.20223798e-02,
-1.82482213e-01, -3.99025500e-01, 1.18716523e-01,
-1.31923273e-01, 5.25973402e-02, -1.65401697e-01,
4.76042897e-01, 2.54010588e-01, 1.24761552e-01,
2.01919496e-01, 2.71470785e-01, 9.30914581e-02,
-3.99844199e-01],
[-2.19876617e-01, 1.74468994e-01, -1.36168018e-01,
1.67951226e-01, 1.64747730e-01, 1.28720567e-01,
1.42563358e-01, -1.06711470e-01, 3.77844185e-01,
-2.52675414e-01, -1.16414905e-01, 7.86945820e-02,
-2.66783953e-01, 3.48075420e-01, -1.32602081e-01,
-1.64222941e-02],
[ 3.67545962e-01, -9.60241705e-02, 3.36370384e-03,
-2.57017404e-01, -1.29753187e-01, -7.30456843e-04,
-5.59695624e-02, 3.40003312e-01, 2.66809285e-01,
2.14262813e-01, 1.87216237e-01, 3.92041445e-01,
-3.18859555e-02, -2.99801528e-01, -3.52314673e-02,
-3.14018488e-01],
[-2.46213078e-02, -1.06281102e-01, -1.40357977e-02,
2.82571107e-01, 1.61490440e-01, -8.15302953e-02,
-2.31299568e-02, -1.81549266e-01, 1.15714654e-01,
-1.78711623e-01, -1.22451380e-01, -9.02583674e-02,
-4.34838057e-01, -1.57137755e-02, -3.67354900e-02,
9.30452645e-02],
[-3.06512326e-01, 3.21924865e-01, -8.51738825e-02,
2.06404179e-01, 1.99192584e-01, -6.74270242e-02,
3.00358087e-01, -3.24921697e-01, 1.27443239e-01,
-3.42435330e-01, 4.83571040e-03, -2.75479227e-01,
4.16270783e-03, 1.94761366e-01, 3.46238017e-02,
-1.43209130e-01],
[ 2.30466768e-01, -4.50272292e-01, -1.20272145e-01,
-1.45456688e-02, 7.50369113e-03, 3.87558639e-01,
2.96384454e-01, -2.78996110e-01, -1.61517680e-01,
2.18919516e-01, 2.40374640e-01, 4.03991938e-02,
-9.91845578e-02, 1.32351756e-01, 1.96589500e-01,
2.75746763e-01],
[-1.07541054e-01, 2.54979998e-01, -1.75046757e-01,
-2.00653881e-01, -1.68440994e-02, 6.95943972e-03,
-3.73291969e-01, -3.96114171e-01, 4.63438451e-01,
1.76935628e-01, -3.08104604e-01, 9.93756354e-02,
8.59037116e-02, -1.34493828e-01, 2.26277441e-01,
-1.76851496e-01],
[-2.51365434e-02, -2.29278296e-01, 6.98945224e-02,
-1.23907246e-01, -1.60500675e-01, -4.66118962e-01,
-5.93035705e-02, 2.72943914e-01, -1.86401889e-01,
-8.29315186e-02, -5.08722849e-02, 1.41523391e-01,
-2.01180372e-02, -6.14240095e-02, 1.18729390e-01,
-3.68530452e-01],
[-2.26935148e-01, -2.72357851e-01, 1.43210828e-01,
2.02704176e-01, 9.49994400e-02, 2.36191735e-01,
-2.41023287e-01, 8.81800577e-02, 3.79409730e-01,
2.51186490e-01, 1.00512795e-01, -6.12199455e-02,
-5.81783578e-02, -1.46764547e-01, 1.75645277e-01,
-1.76109031e-01],
[-1.65895000e-03, -1.56951651e-01, -5.69537580e-02,
1.03702374e-01, -1.03200532e-01, 2.88883954e-01,
4.58444804e-01, 1.31770922e-02, 9.96536296e-03,
1.52559146e-01, -3.05929240e-02, -5.77684790e-02,
4.87174205e-02, -8.94666314e-02, 2.66040564e-01,
-1.25924140e-01],
[-2.45850552e-02, 1.47692695e-01, 1.50237396e-01,
8.91699195e-02, 9.45390910e-02, -1.70422629e-01,
-1.03414237e-01, 1.31038398e-01, -1.25831455e-01,
-1.06988154e-01, 1.69369295e-01, 3.64930034e-01,
2.44203642e-01, 1.08573101e-02, 6.25731349e-02,
5.00081852e-02],
[-4.87715185e-01, 1.22569352e-01, 9.76240411e-02,
-3.69255751e-01, -3.27315107e-02, 4.77732748e-01,
8.47483501e-02, 2.27841467e-01, 1.28829822e-01,
6.62216246e-02, 1.40299082e-01, -5.10666147e-03,
-5.92035688e-02, 1.44513488e-01, 4.61318642e-02,
9.24387574e-02],
[ 1.31622702e-01, 2.35115319e-01, 3.16902906e-01,
2.62499958e-01, -2.02617839e-01, -3.00487727e-01,
-1.98768079e-01, -1.51704568e-02, 2.87955821e-01,
1.85911939e-01, 4.35867578e-01, 6.52332082e-02,
2.72120893e-01, -2.15846077e-01, 3.78105760e-01,
-1.20439030e-01],
[-1.81667671e-01, 9.03200209e-02, 1.34301573e-01,
-3.64713311e-01, 3.15827221e-01, 6.53790906e-02,
-7.04066232e-02, 8.95518959e-02, -2.27551445e-01,
-1.93000697e-02, -1.14412993e-01, -5.15406660e-04,
-2.06291065e-01, -8.25157687e-02, 8.39564428e-02,
1.93390608e-01]], dtype=float32)>
(name-string/embedding_weights): <tf.Variable 'dense_features_1/name-string/embedding_weights:0' shape=(27, 16) dtype=float32, numpy=
array([[ 1.18967034e-01, 2.92321276e-02, -1.76486209e-01,
-2.28929818e-01, -6.65387139e-02, 1.69927403e-01,
-1.97796151e-02, -2.31039021e-02, -1.88842544e-03,
-1.50341853e-01, 3.86345387e-02, -1.86019227e-01,
-4.64328341e-02, -1.06947601e-01, -9.96594056e-02,
-1.72566429e-01],
[ 1.49610028e-01, -1.87470332e-01, -1.99090406e-01,
9.40031409e-02, 1.74168553e-02, -1.09434845e-02,
-2.06563175e-01, 1.12327151e-01, 4.14121598e-01,
9.17794649e-03, 1.32261321e-01, 1.76019132e-01,
-3.04738339e-02, -1.13267317e-01, 4.09068346e-01,
-6.66157901e-02],
[ 2.27153227e-01, 4.71256822e-02, -1.72013208e-01,
-9.41603482e-02, -2.00988114e-01, -1.05393745e-01,
5.09681515e-02, 2.68539488e-01, 2.58423328e-01,
-2.45049119e-01, -1.93861619e-01, 2.21965253e-01,
-2.00365469e-01, -2.85231888e-01, 1.92369372e-01,
2.09767312e-01],
[ 2.83991754e-01, -1.23994209e-01, 1.82268411e-01,
-1.04609169e-01, 1.02349013e-01, 1.37459496e-02,
-2.30179913e-02, 2.18352124e-01, -3.19157634e-03,
-2.62891948e-01, -2.75346607e-01, 2.72067487e-01,
4.86978069e-02, 1.61315605e-01, -6.31684959e-02,
8.90359841e-03],
[-2.59977430e-02, -1.05720600e-02, 2.18444780e-01,
1.93986118e-01, -2.67647356e-01, 4.31233615e-01,
-2.91791797e-01, 2.00713426e-01, 2.70631373e-01,
2.29927108e-01, 4.20321912e-01, -1.28145054e-01,
3.35146844e-01, 3.31801444e-01, -1.21132784e-01,
-2.57677108e-01],
[-2.49986649e-01, 1.84357315e-01, 1.68806195e-01,
-2.38449145e-02, -4.11943942e-01, -4.21456471e-02,
-1.70945078e-01, 8.12473074e-02, 2.16492219e-03,
1.76076666e-01, -6.76024333e-02, -2.75238186e-01,
-2.28679210e-01, 2.31550738e-01, -1.83594748e-01,
3.40504318e-01],
[ 2.10440725e-01, 1.61059931e-01, -1.18313730e-01,
-3.43459882e-02, -9.92946476e-02, 4.34724726e-02,
-4.37830180e-01, 6.62305355e-02, 2.09055126e-01,
1.75547108e-01, 2.36244407e-02, 1.74002737e-01,
-1.48994267e-01, -1.65328130e-01, -2.28185698e-01,
3.87921594e-02],
[-4.51003723e-02, 4.03952390e-01, 4.01075510e-03,
-4.54353131e-02, 2.63624843e-02, -2.02038497e-01,
5.61266132e-02, 6.54248670e-02, 4.66845423e-01,
3.13469470e-01, -1.03301734e-01, -3.82949561e-01,
-3.06103309e-03, 3.02399844e-01, 4.77366954e-01,
4.97919023e-02],
[-9.88331810e-02, 2.18374625e-01, 2.31964767e-01,
1.00447368e-02, -1.04908668e-01, -1.95465595e-01,
1.41900927e-01, 2.28023589e-01, -7.51284212e-02,
-5.86277433e-02, -1.25229463e-01, -4.67425538e-03,
4.33962420e-02, -4.47828732e-02, -1.75607771e-01,
-2.31775761e-01],
[ 1.13602616e-01, -3.12391192e-01, 2.75872916e-01,
-6.77529126e-02, 8.20163414e-02, -6.07334487e-02,
2.18247101e-01, 2.42366627e-01, -8.22153315e-02,
3.96689594e-01, 1.47577316e-01, -1.41363041e-02,
-4.88557994e-01, -1.15490124e-01, -1.02403395e-01,
2.07850724e-01],
[-5.40497378e-02, 1.51120991e-01, 1.67969242e-01,
-1.14738189e-01, -3.29858720e-01, -7.99697265e-02,
1.77691042e-01, 1.27177820e-01, -1.03104346e-01,
4.08822671e-02, -4.30394828e-01, -4.32390481e-01,
-1.43764645e-01, 8.00784398e-03, -1.10336654e-01,
-1.02180973e-01],
[-1.67042211e-01, -2.68340893e-02, 1.20355375e-01,
-1.09719552e-01, -1.16189558e-03, -2.22044796e-01,
1.01806194e-01, -3.84172082e-01, 2.20021307e-01,
-6.39186278e-02, -8.94495472e-02, -2.33107820e-01,
3.51457670e-02, -8.31109807e-02, -4.65139002e-02,
-7.82957207e-03],
[-5.57014421e-02, 1.60153806e-01, -3.62584710e-01,
2.34360203e-01, 1.99960247e-01, 1.43566966e-01,
-2.42830023e-01, 1.41657606e-01, -3.13240886e-01,
-1.36882320e-01, -3.85357916e-01, 3.59099388e-01,
1.66408002e-01, 1.02293558e-01, -1.26212299e-01,
1.77119344e-01],
[-3.69888365e-01, 2.03939781e-01, -4.20594178e-02,
-1.58850968e-01, -3.46698016e-01, -2.91390806e-01,
-3.40127617e-01, 3.91869754e-01, -2.64035732e-01,
-2.04378635e-01, 4.76557821e-01, 1.36029795e-01,
-5.86226024e-02, 5.89034036e-02, 3.16488832e-01,
-2.72643983e-01],
[-7.06708059e-02, -3.10156047e-01, 1.29403368e-01,
2.16595978e-01, -1.80980284e-03, -1.48048192e-01,
6.41446039e-02, 3.83869499e-01, 2.32544884e-01,
2.89239734e-01, 2.39318997e-01, 3.30129981e-01,
1.73607767e-02, -3.49312901e-01, -2.74222076e-01,
1.76880971e-01],
[ 1.63852498e-01, 2.03557923e-01, 2.00394869e-01,
6.18965775e-02, 2.71036744e-01, 9.22893360e-02,
8.12288299e-02, 1.81755006e-01, 2.98930228e-01,
-2.99620658e-01, 3.16586904e-02, -2.38540947e-01,
-3.63405287e-01, -1.20572671e-02, -2.86771864e-01,
-2.62823969e-01],
[-2.26186458e-02, -9.41400900e-02, -4.27094519e-01,
1.10212147e-01, 1.53813079e-01, 6.93100467e-02,
-1.42195800e-04, -1.20844536e-01, -4.46691424e-01,
3.06512564e-02, -3.71618629e-01, 9.22876447e-02,
-1.44279495e-01, 2.08915174e-01, -4.15059119e-01,
-2.42299989e-01],
[-2.72436142e-02, 2.17793375e-01, -2.28318259e-01,
-3.75208527e-01, 2.48146519e-01, 2.35483482e-01,
-1.46514714e-01, -3.77885044e-01, -3.31118852e-02,
-3.59903723e-01, -3.95605937e-02, 5.75538166e-02,
-2.61564791e-01, -1.60099491e-01, -8.35499018e-02,
-2.32141033e-01],
[ 3.38263214e-01, 1.71423927e-01, 2.98525095e-01,
2.16879621e-01, 3.43940035e-02, -4.54301536e-02,
1.60101995e-01, -1.49493858e-01, -3.05257827e-01,
5.19734025e-02, 6.02495670e-02, -9.82476771e-02,
-4.45640117e-01, -8.20776150e-02, 2.54883111e-01,
-6.60333633e-02],
[ 2.99775690e-01, 1.41851753e-01, -5.31714316e-03,
2.16588899e-01, 1.58190235e-01, 1.53040469e-01,
-4.28432584e-01, -4.02808368e-01, 1.46233961e-01,
-1.50375336e-01, 1.41472265e-01, -4.28757928e-02,
-1.87336892e-01, 1.46883443e-01, 4.41128761e-01,
-7.59969056e-02],
[-1.60196275e-01, -4.36054543e-02, -6.07244000e-02,
3.35108519e-01, 1.09173737e-01, 3.00306976e-01,
-4.49515581e-02, 6.01102319e-03, 8.23133960e-02,
2.09165141e-01, -1.41447172e-01, -2.44032323e-01,
1.45557299e-01, 3.44309479e-01, 2.58091968e-02,
-1.53135255e-01],
[-9.25506800e-02, -1.73944071e-01, -1.71935335e-01,
-2.92379111e-01, 6.24492718e-03, -3.73581164e-02,
-3.34139615e-01, 3.49567644e-02, -2.55558014e-01,
-2.82421738e-01, -1.98891446e-01, 3.58878337e-02,
3.38232554e-02, -1.16069652e-01, -1.93557337e-01,
3.76897365e-01],
[ 6.59099743e-02, -1.53472170e-01, 1.56013399e-01,
-1.91189617e-01, 4.11018543e-02, -3.86108980e-02,
4.48592186e-01, -1.97023451e-02, 1.55843392e-01,
8.17219913e-02, 1.58590246e-02, 1.12193674e-01,
2.64049739e-01, -1.16889276e-01, 9.67301801e-02,
-2.31196024e-02],
[ 3.91733021e-01, 7.00295493e-02, 4.87009227e-01,
2.64429539e-01, 2.56948829e-01, -1.88441761e-02,
-1.12598963e-01, -8.66694842e-03, 1.75418630e-01,
3.71447116e-01, 2.48563185e-01, 1.51667133e-01,
-2.20290795e-01, 2.51475285e-04, 2.51901448e-01,
-1.52616367e-01],
[-1.74495652e-01, -2.69937754e-01, 4.86779034e-01,
-2.23996177e-01, -7.28479102e-02, 2.36547410e-01,
1.92486838e-01, 1.41892536e-02, 3.09850723e-01,
-2.19418690e-01, 9.92603227e-02, -3.76376867e-01,
1.48199067e-01, -2.27234483e-01, -1.81832194e-01,
-1.78541522e-02],
[ 1.06901012e-01, 2.84270257e-01, 1.67041421e-01,
-8.09638649e-02, -2.14941129e-01, 3.72773021e-01,
1.46967947e-01, 3.90462607e-01, -2.78370649e-01,
3.47034074e-02, -1.32453188e-01, 6.21488839e-02,
4.01402026e-01, -7.52155855e-02, -1.29957214e-01,
-2.09512874e-01],
[ 3.62448096e-01, -2.77776331e-01, -2.48599276e-01,
-3.73271614e-01, 2.62109727e-01, 1.13126434e-01,
1.33151546e-01, -1.43124327e-01, -8.19027610e-03,
2.44280417e-02, 7.58303031e-02, 3.01800132e-01,
-8.54269564e-02, -1.84654444e-01, -8.56844634e-02,
9.73571315e-02]], dtype=float32)>
) has the same name 'DenseFeatures' as a built-in Keras object. Consider renaming <class 'nvtabular.framework_utils.tensorflow.layers.embedding.DenseFeatures'> to avoid naming conflicts when loading with tf.keras.models.load_model. If renaming is not possible, pass the object in the custom_objects parameter of the load function.
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
________________________ test_tf_op_exports_own_config _________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-10/test_tf_op_exports_own_config0')

def test_tf_op_exports_own_config(tmpdir):
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="input", dtype=tf.int32, shape=(784,)),
            tf.keras.layers.Dense(512, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, name="output"),
        ]
    )

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/ops/tf/test_op.py:55:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f1f11e46070>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________________________ test_tf_op_compute_schema ___________________________

def test_tf_op_compute_schema():
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="input", dtype=tf.int32, shape=(784,)),
            tf.keras.layers.Dense(512, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, name="output"),
        ]
    )

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/ops/tf/test_op.py:94:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f20080f01c0>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________________________ test_tf_schema_validation ___________________________

def test_tf_schema_validation():
    model = tf.keras.models.Sequential(
        [
            tf.keras.Input(name="input", dtype=tf.int32, shape=(784,)),
            tf.keras.layers.Dense(512, activation="relu"),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, name="output"),
        ]
    )

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  tf_node = [] >> tf_op.PredictTensorflow(model)

tests/unit/systems/ops/tf/test_op.py:117:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f1f11da2520>
model = Sequential(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
_____________ test_tf_op_infers_schema_for_fixed_size_input_tuples _____________

def test_tf_op_infers_schema_for_fixed_size_input_tuples():
    inputs = (tf.keras.Input(shape=(128,)), tf.keras.Input(shape=(128,)))
    towers = (tf.keras.layers.Dense(64)(inputs[0]), tf.keras.layers.Dense(64)(inputs[1]))
    outputs = tf.keras.layers.dot(towers, [1, 1])
    model = tf.keras.Model(inputs=inputs, outputs=outputs)

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/ops/tf/test_op.py:146:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f1f114e7130>
model = Functional(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
__________ test_tf_op_infers_schema_for_fixed_or_ragged_list_columns ___________

def test_tf_op_infers_schema_for_fixed_or_ragged_list_columns():
    # The shape of this input mimics a column with 128 rows and
    # lists that might have either exactly 4 elements in each row,
    # or a variable number of elements that happen to add up to 512.
    # The details of the model don't matter for this test, only the
    # shape of the inputs.

    inputs = (tf.keras.Input(shape=(512,)), tf.keras.Input(shape=(128,)))
    towers = (tf.keras.layers.Dense(64)(inputs[0]), tf.keras.layers.Dense(64)(inputs[1]))
    outputs = tf.keras.layers.dot(towers, [1, 1])
    model = tf.keras.Model(inputs=inputs, outputs=outputs)

    model.compile(
        optimizer="adam",
        loss=tf.losses.SparseCategoricalCrossentropy(from_logits=True),
        metrics=[tf.metrics.SparseCategoricalAccuracy()],
    )

    # Triton
  triton_op = tf_op.PredictTensorflow(model)

tests/unit/systems/ops/tf/test_op.py:190:


merlin/systems/dag/ops/tensorflow.py:62: in init
self.input_schema, self.output_schema = self._infer_schemas_from_model(self.model)


self = <merlin.systems.dag.ops.tensorflow.PredictTensorflow object at 0x7f1f11488520>
model = Functional(
(optimizer): Adam()
)

def _infer_schemas_from_model(self, model):
    signatures = getattr(model, "signatures", {}) or {}
    default_signature = signatures.get("serving_default")

    if not default_signature:
        # roundtrip saved model to disk to generate signature if it doesn't exist
        self._ensure_input_spec_includes_names(model)

        with tempfile.TemporaryDirectory() as tmp_dir:
            tf_model_path = pathlib.Path(tmp_dir) / "model.savedmodel"
            model.save(tf_model_path, include_optimizer=False)
            reloaded = tf.keras.models.load_model(tf_model_path)
            default_signature = reloaded.signatures["serving_default"]

    signature_inputs = default_signature.structured_input_signature[1]
    signature_outputs = default_signature.structured_outputs

    # Detect pairs of columns with `_1` and `_2` suffixes
    col_suffixes = defaultdict(set)
    for col_name, _ in signature_inputs.items():
        elements = col_name.split("_")
      stem = elements[:-1].join("_")

E AttributeError: 'list' object has no attribute 'join'

merlin/systems/dag/ops/tensorflow.py:158: AttributeError
------------------------------ Captured log call -------------------------------
WARNING tensorflow:load.py:167 No training configuration found in save file, so the model was not compiled. Compile it manually.
=============================== warnings summary ===============================
../../../../../usr/local/lib/python3.8/dist-packages/nvtabular/framework_utils/init.py:18
/usr/local/lib/python3.8/dist-packages/nvtabular/framework_utils/init.py:18: DeprecationWarning: The nvtabular.framework_utils module is being replaced by the Merlin Models library. Support for importing from nvtabular.framework_utils is deprecated, and will be removed in a future version. Please consider using the models and layers from Merlin Models instead.
warnings.warn(

tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py: 1 warning
tests/unit/systems/test_export.py: 1 warning
tests/unit/systems/dag/test_op_runner.py: 4 warnings
tests/unit/systems/ops/nvtabular/test_op.py: 2 warnings
tests/unit/systems/ops/tf/test_ensemble.py: 2 warnings
/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/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column x is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column y is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/test_export.py::test_export_run_ensemble_triton[tensorflow-parquet]
/var/jenkins_home/workspace/merlin_systems/systems/merlin/systems/triton/export.py:304: UserWarning: Column id is being generated by NVTabular workflow but is unused in test_name_tf model
warnings.warn(

tests/unit/systems/ops/fil/test_forest.py::test_export_merlin_models
/usr/local/lib/python3.8/dist-packages/tornado/ioloop.py:350: DeprecationWarning: make_current is deprecated; start the event loop first
self.make_current()

tests/unit/systems/ops/fil/test_op.py::test_binary_classifier_default[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/ops/fil/test_op.py::test_binary_classifier_with_proba[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/ops/fil/test_op.py::test_multi_classifier[sklearn_forest_classifier-get_model_params4]
tests/unit/systems/ops/fil/test_op.py::test_regressor[sklearn_forest_regressor-get_model_params4]
tests/unit/systems/ops/fil/test_op.py::test_model_file[sklearn_forest_regressor-checkpoint.tl]
/usr/local/lib/python3.8/dist-packages/sklearn/utils/deprecation.py:103: FutureWarning: Attribute n_features_ was deprecated in version 1.0 and will be removed in 1.2. Use n_features_in_ instead.
warnings.warn(msg, category=FutureWarning)

tests/unit/systems/ops/implicit/test_op.py::test_reload_from_config[AlternatingLeastSquares]
/usr/local/lib/python3.8/dist-packages/implicit/utils.py:28: UserWarning: OpenBLAS detected. Its highly recommend to set the environment variable 'export OPENBLAS_NUM_THREADS=1' to disable its internal multithreading
warnings.warn(

tests/unit/systems/ops/torch/test_op.py::test_pytorch_op_serving[True-True]
/usr/local/lib/python3.8/dist-packages/torch/serialization.py:707: UserWarning: 'torch.load' received a zip file that looks like a TorchScript archive dispatching to 'torch.jit.load' (call 'torch.jit.load' directly to silence this warning)
warnings.warn("'torch.load' received a zip file that looks like a TorchScript archive"

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/unit/examples/test_serving_ranking_models_with_merlin_systems.py::test_example_04_exporting_ranking_models
FAILED tests/unit/systems/ops/tf/test_ensemble.py::test_workflow_tf_e2e_config_verification[parquet]
FAILED tests/unit/systems/ops/tf/test_ensemble.py::test_workflow_tf_e2e_multi_op_run[parquet]
FAILED tests/unit/systems/ops/tf/test_op.py::test_tf_op_exports_own_config - ...
FAILED tests/unit/systems/ops/tf/test_op.py::test_tf_op_compute_schema - Attr...
FAILED tests/unit/systems/ops/tf/test_op.py::test_tf_schema_validation - Attr...
FAILED tests/unit/systems/ops/tf/test_op.py::test_tf_op_infers_schema_for_fixed_size_input_tuples
FAILED tests/unit/systems/ops/tf/test_op.py::test_tf_op_infers_schema_for_fixed_or_ragged_list_columns
============ 8 failed, 61 passed, 22 warnings in 209.49s (0:03:29) =============
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/systems/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[merlin_systems] $ /bin/bash /tmp/jenkins5669920095408887364.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working clean up
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants