NVIDIA-Merlin/core

[BUG] runtime error: "ValueError: high is out of bounds for int32"

rogerioxavier opened this issue · 1 comments

Bug description

When training the all recommender systems models with NVIDIA Merlin at:
...
history = model.fit( train_data, epochs=3, batch_size=512, pre=predict_last )
...
runtime error: "ValueError: high is out of bounds for int32"

Steps/Code to reproduce bug

  1. I solved it like this:
    at file C:\Users\Xavier\AppData\Roaming\Python\Python310\site-packages\merlin\core\dispatch.py line 778
    from:
    seeds = random_state.randint(0, 2 ** 32, size=global_size)
    to:
    seeds = random_state.randint(0, 2 ** 32, size=global_size, dtype='int64') # include ", dtype='int64'"

Expected behavior

After the change in line 778 setting the type, all models trained normally.

Environment details

  • Merlin version: (23.5.0)
  • Platform: Windows, Lenovo GPU NVIDIA GeForce GTX 1650
  • Python version: 3.10.0
  • PyTorch version (GPU?):
  • Tensorflow version (GPU?): 2.10.0

Additional context

with pip install protobuf==3.20.0

@rogerioxavier It seems like you already have a solution for this issue, which sounds right to me. I'd be happy to review/merge a PR if you'd be willing to open one (so that you get credited as a contributor for the fix), or we can apply the fix ourselves if you'd rather we did it that way. Thoughts?