Skip to content
New issue

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

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

Already on GitHub? # to your account

Move Tensorflow code to tensorflow branch #448

Merged
merged 2 commits into from
Jul 7, 2022

Conversation

karlhigley
Copy link
Contributor

The Tensorflow API for this library is in a WIP state that's causing some test failures, but we'd still like to be able to make changes, improvements, and releases of the PyTorch API, so we're moving the Tensorflow code to the tensorflow branch until it's stable.

The Tensorflow API for this library is in a WIP state that's causing some test failures, but we'd still like to be able to make changes, improvements, and releases of the PyTorch API, so we're moving the Tensorflow code to the `tensorflow` branch until it's stable.
@karlhigley karlhigley self-assigned this Jul 7, 2022
@karlhigley karlhigley added area/tensorflow chore Maintenance for the repository labels Jul 7, 2022
@karlhigley karlhigley added this to the Merlin 22.07 milestone Jul 7, 2022
@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #448 of commit e47254751914c1433f920ce0ba26488c16e2c152, no merge conflicts.
Running as SYSTEM
Setting status of e47254751914c1433f920ce0ba26488c16e2c152 to PENDING with url http://10.20.17.181:8080/job/transformers4rec_tests/139/ and message: 'Build started for merge commit.'
Using context: Jenkins Unit Test Run
Building on master in workspace /var/jenkins_home/workspace/transformers4rec_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA-Merlin/Transformers4Rec.git
 > git init /var/jenkins_home/workspace/transformers4rec_tests/transformers4rec # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/Transformers4Rec.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/Transformers4Rec.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/Transformers4Rec.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/Transformers4Rec.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/Transformers4Rec.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/Transformers4Rec.git +refs/pull/448/*:refs/remotes/origin/pr/448/* # timeout=10
 > git rev-parse e47254751914c1433f920ce0ba26488c16e2c152^{commit} # timeout=10
Checking out Revision e47254751914c1433f920ce0ba26488c16e2c152 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f e47254751914c1433f920ce0ba26488c16e2c152 # timeout=10
Commit message: "Move Tensorflow code to `tensorflow` branch"
 > git rev-list --no-walk 7d85b7d89560d06447cae4fdd0ccae074c282486 # timeout=10
[transformers4rec_tests] $ /bin/bash /tmp/jenkins17351691309527142639.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/transformers4rec_tests/transformers4rec
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 1 item

tests/unit/test_notebooks.py F [100%]

=================================== FAILURES ===================================
_________________________________ test_session _________________________________

tmpdir = local('/tmp/pytest-of-jenkins/pytest-7/test_session0')

@pytest.mark.skipif(importlib.util.find_spec("cudf") is None, reason="needs cudf")
def test_session(tmpdir):
    BASE_PATH = os.path.join(dirname(TEST_PATH), SESSION_PATH)
    # Run ETL
    nb_path = os.path.join(BASE_PATH, "01-ETL-with-NVTabular.ipynb")
  _run_notebook(tmpdir, nb_path)

tests/unit/test_notebooks.py:36:


tests/unit/test_notebooks.py:65: in _run_notebook
subprocess.check_output([sys.executable, script_path])
/usr/lib/python3.8/subprocess.py:415: in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,


input = None, capture_output = False, timeout = None, check = True
popenargs = (['/usr/bin/python3', '/tmp/pytest-of-jenkins/pytest-7/test_session0/notebook.py'],)
kwargs = {'stdout': -1}, process = <subprocess.Popen object at 0x7f50d3c3c5e0>
stdout = b'', stderr = None, retcode = 1

def run(*popenargs,
        input=None, capture_output=False, timeout=None, check=False, **kwargs):
    """Run command with arguments and return a CompletedProcess instance.

    The returned instance will have attributes args, returncode, stdout and
    stderr. By default, stdout and stderr are not captured, and those attributes
    will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.

    If check is True and the exit code was non-zero, it raises a
    CalledProcessError. The CalledProcessError object will have the return code
    in the returncode attribute, and output & stderr attributes if those streams
    were captured.

    If timeout is given, and the process takes too long, a TimeoutExpired
    exception will be raised.

    There is an optional argument "input", allowing you to
    pass bytes or a string to the subprocess's stdin.  If you use this argument
    you may not also use the Popen constructor's "stdin" argument, as
    it will be used internally.

    By default, all communication is in bytes, and therefore any "input" should
    be bytes, and the stdout and stderr will be bytes. If in text mode, any
    "input" should be a string, and stdout and stderr will be strings decoded
    according to locale encoding, or by "encoding" if set. Text mode is
    triggered by setting any of text, encoding, errors or universal_newlines.

    The other arguments are the same as for the Popen constructor.
    """
    if input is not None:
        if kwargs.get('stdin') is not None:
            raise ValueError('stdin and input arguments may not both be used.')
        kwargs['stdin'] = PIPE

    if capture_output:
        if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
            raise ValueError('stdout and stderr arguments may not be used '
                             'with capture_output.')
        kwargs['stdout'] = PIPE
        kwargs['stderr'] = PIPE

    with Popen(*popenargs, **kwargs) as process:
        try:
            stdout, stderr = process.communicate(input, timeout=timeout)
        except TimeoutExpired as exc:
            process.kill()
            if _mswindows:
                # Windows accumulates the output in a single blocking
                # read() call run on child threads, with the timeout
                # being done in a join() on those threads.  communicate()
                # _after_ kill() is required to collect that and add it
                # to the exception.
                exc.stdout, exc.stderr = process.communicate()
            else:
                # POSIX _communicate already populated the output so
                # far into the TimeoutExpired exception.
                process.wait()
            raise
        except:  # Including KeyboardInterrupt, communicate handled that.
            process.kill()
            # We don't call process.wait() as .__exit__ does that for us.
            raise
        retcode = process.poll()
        if check and retcode:
          raise CalledProcessError(retcode, process.args,
                                     output=stdout, stderr=stderr)

E subprocess.CalledProcessError: Command '['/usr/bin/python3', '/tmp/pytest-of-jenkins/pytest-7/test_session0/notebook.py']' returned non-zero exit status 1.

/usr/lib/python3.8/subprocess.py:516: CalledProcessError
----------------------------- Captured stderr call -----------------------------
/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(

Creating time-based splits: 0%| | 0/9 [00:00<?, ?it/s]
Creating time-based splits: 0%| | 0/9 [00:00<?, ?it/s]
Traceback (most recent call last):
File "/tmp/pytest-of-jenkins/pytest-7/test_session0/notebook.py", line 151, in
save_time_based_splits(data=nvt.Dataset(sessions_gdf),
File "/var/jenkins_home/.local/lib/python3.8/site-packages/transformers4rec/data/preprocessing.py", line 208, in save_time_based_splits
return _save_time_based_splits_gpu(
File "/var/jenkins_home/.local/lib/python3.8/site-packages/transformers4rec/data/preprocessing.py", line 278, in _save_time_based_splits_gpu
os.makedirs(out_dir, exist_ok=True)
File "/usr/lib/python3.8/os.py", line 213, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/usr/lib/python3.8/os.py", line 213, in makedirs
makedirs(head, exist_ok=exist_ok)
File "/usr/lib/python3.8/os.py", line 223, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/workspace/data'
=========================== short test summary info ============================
FAILED tests/unit/test_notebooks.py::test_session - subprocess.CalledProcessE...
============================== 1 failed in 5.01s ===============================
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=2 python test_res_push.py "https://api.github.com/repos/NVIDIA-Merlin/Transformers4Rec/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[transformers4rec_tests] $ /bin/bash /tmp/jenkins685320867302690486.sh

@github-actions
Copy link

github-actions bot commented Jul 7, 2022

@karlhigley
Copy link
Contributor Author

Blocked by #449

@nvidia-merlin-bot
Copy link

Click to view CI Results
GitHub pull request #448 of commit 936d80af6dbcb9b5dd8c14fb25346cf1752ce4e1, no merge conflicts.
Running as SYSTEM
Setting status of 936d80af6dbcb9b5dd8c14fb25346cf1752ce4e1 to PENDING with url http://10.20.17.181:8080/job/transformers4rec_tests/144/ and message: 'Build started for merge commit.'
Using context: Jenkins Unit Test Run
Building on master in workspace /var/jenkins_home/workspace/transformers4rec_tests
using credential nvidia-merlin-bot
Cloning the remote Git repository
Cloning repository https://github.com/NVIDIA-Merlin/Transformers4Rec.git
 > git init /var/jenkins_home/workspace/transformers4rec_tests/transformers4rec # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/Transformers4Rec.git
 > git --version # timeout=10
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/Transformers4Rec.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/Transformers4Rec.git # timeout=10
 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git config remote.origin.url https://github.com/NVIDIA-Merlin/Transformers4Rec.git # timeout=10
Fetching upstream changes from https://github.com/NVIDIA-Merlin/Transformers4Rec.git
using GIT_ASKPASS to set credentials This is the bot credentials for our CI/CD
 > git fetch --tags --force --progress -- https://github.com/NVIDIA-Merlin/Transformers4Rec.git +refs/pull/448/*:refs/remotes/origin/pr/448/* # timeout=10
 > git rev-parse 936d80af6dbcb9b5dd8c14fb25346cf1752ce4e1^{commit} # timeout=10
Checking out Revision 936d80af6dbcb9b5dd8c14fb25346cf1752ce4e1 (detached)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 936d80af6dbcb9b5dd8c14fb25346cf1752ce4e1 # timeout=10
Commit message: "Merge branch 'main' into move-tf-to-branch"
 > git rev-list --no-walk b4f26381f2c2eceea25923ab09aa2bea1556cd93 # timeout=10
First time build. Skipping changelog.
[transformers4rec_tests] $ /bin/bash /tmp/jenkins4529341353317727517.sh
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-7.1.2, pluggy-1.0.0
rootdir: /var/jenkins_home/workspace/transformers4rec_tests/transformers4rec
plugins: anyio-3.5.0, xdist-2.5.0, forked-1.4.0, cov-3.0.0
collected 1 item

tests/unit/test_notebooks.py . [100%]

============================== 1 passed in 20.18s ==============================
Performing Post build task...
Match found for : : True
Logical operation result is TRUE
Running script : #!/bin/bash
cd /var/jenkins_home/
CUDA_VISIBLE_DEVICES=2 python test_res_push.py "https://api.github.com/repos/NVIDIA-Merlin/Transformers4Rec/issues/$ghprbPullId/comments" "/var/jenkins_home/jobs/$JOB_NAME/builds/$BUILD_NUMBER/log"
[transformers4rec_tests] $ /bin/bash /tmp/jenkins9467500014585001791.sh

@karlhigley karlhigley merged commit 72c678b into NVIDIA-Merlin:main Jul 7, 2022
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
area/tensorflow chore Maintenance for the repository
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants