> predictions = model.predict(loader, batch_size=8, steps=1)
tests/unit/tf/transformers/test_block.py:194:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
merlin/models/tf/models/base.py:915: in predict
out = super(BaseModel, self).predict(
/usr/local/lib/python3.8/dist-packages/keras/utils/traceback_utils.py:70: in error_handler
raise e.with_traceback(filtered_tb) from None
merlin/models/tf/loader.py:337: in __getitem__
return DataLoader.__next__(self)
merlin/models/loader/backend.py:356: in __next__
return self._get_next_batch()
merlin/models/loader/backend.py:393: in _get_next_batch
batch = next(self._batch_itr)
merlin/models/loader/backend.py:495: in <genexpr>
return (self._handle_tensors(*batch) for batch in batches)
merlin/models/tf/loader.py:514: in _handle_tensors
to_return = transform(*to_return)
merlin/models/tf/core/tabular.py:490: in _tabular_call
outputs = self.super().__call__(inputs, *args, **kwargs) # type: ignore
merlin/models/config/schema.py:58: in __call__
return super().__call__(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = SequencePredictNext(
(_pre): ListToRagged()
), inputs = {'categories': <tf.RaggedTensor [[230, 232, 48, 89],
[59, 60, 186, 213],
[126, 26, 264, 130],
[221, 254, 118, 94],
....7090351],
[0.297698, 0.8401888, 0.033521578, 0.062045045],
[0.101515464, 0.52725536, 0.55959797, 0.21533921]]>, ...}
targets = {'item_id_seq': <tf.RaggedTensor [[2, 19, 23],
[7, 13, 11],
[12, 19, 35],
[21, 8, 17],
[16, 87, 21],
[3, 23, 45],
[18, 33, 6],
[4, 17, 40]]>}, training = False, testing = False, kwargs = {}, new_target = <tf.RaggedTensor [[2, 19, 23],
[7, 13, 11],
[12, 19, 35],
[21, 8, 17],
[16, 87, 21],
[3, 23, 45],
[18, 33, 6],
[4, 17, 40]]>
new_inputs = {'item_id_seq': <tf.RaggedTensor [[22, 2, 19],
[7, 7, 13],
[24, 12, 19],
[10, 21, 8],
[11, 16, 87],
[16, 3, 23],
[8, 18, 33],
[42, 4, 17]]>}, k = 'categories', v = <tf.RaggedTensor [[230, 232, 48, 89],
[59, 60, 186, 213],
[126, 26, 264, 130],
[221, 254, 118, 94],
[92, 32, 64, 307],
[165, 217, 9, 200],
[127, 19, 14, 262],
[91, 31, 268, 196]]>
def call(
self, inputs: TabularData, targets=None, training=False, testing=False, **kwargs
) -> Tuple:
self._check_seq_inputs_targets(inputs)
# Shifts the target column to be the next item of corresponding input column
new_target = inputs[self.target_name][:, 1:]
if targets is None:
targets = dict({self.target_name: new_target})
elif isinstance(targets, dict):
targets[self.target_name] = new_target
else:
raise ValueError("Targets should be None or a dict of tensors")
new_inputs = dict()
for k, v in inputs.items():
if k in self.schema.column_names:
# Removes the last item of the sequence, as it belongs to the target
> new_inputs[k] = v[:, :-1]
E tensorflow.python.framework.errors_impl.InvalidArgumentError: Exception encountered when calling layer "sequence_predict_next" " f"(type SequencePredictNext).
E
E {{function_node __wrapped__StridedSlice_device_/job:localhost/replica:0/task:0/device:GPU:0}} Expected begin, end, and strides to be 1D equal size tensors, but got shapes [5,7], [1], and [1] instead. [Op:StridedSlice] name: sequence_predict_next/strided_slice/
E
E Call arguments received by layer "sequence_predict_next" " f"(type SequencePredictNext):
E โฌรฒ inputs={'item_id_seq': '<tf.RaggedTensor [[22, 2, 19, 23],\n [7, 7, 13, 11],\n [24, 12, 19, 35],\n [10, 21, 8, 17],\n [11, 16, 87, 21],\n [16, 3, 23, 45],\n [8, 18, 33, 6],\n [42, 4, 17, 40]]>', 'categories': '<tf.RaggedTensor [[230, 232, 48, 89],\n [59, 60, 186, 213],\n [126, 26, 264, 130],\n [221, 254, 118, 94],\n [92, 32, 64, 307],\n [165, 217, 9, 200],\n [127, 19, 14, 262],\n [91, 31, 268, 196]]>', 'test_user_id': 'tf.Tensor(shape=(8, 1), dtype=int64)', 'user_country': 'tf.Tensor(shape=(8, 1), dtype=int64)', 'item_age_days_norm': '<tf.RaggedTensor [[-2.6321867, -1.8960141, -1.3827176, -1.2979091],\n [-1.8419394, -1.8213999, -2.562653, -2.6888773],\n [-2.4615552, -1.6159127, -1.673134, -2.5371401],\n [-1.5431116, -2.8743885, -2.3154233, -2.4626255],\n [-2.5722892, -2.3213966, -1.8599365, -1.783778],\n [-2.156473, -1.9776379, -2.3210335, -2.0802162],\n [-2.5183177, -2.0650043, -1.443693, -1.8066756],\n [-1.9003887, -2.8115828, -2.2143846, -2.8128927]]>', 'event_hour_sin': '<tf.RaggedTensor [[0.51098526, 0.70276326, 0.46969718, 0.2593699],\n [0.6366822, 0.3187587, 0.20556688, 0.66788745],\n [0.95823944, 0.6742351, 0.5742672, 0.48995376],\n [0.57856935, 0.03680166, 0.19356328, 0.38373777],\n [0.7118747, 0.22016901, 0.5754359, 0.2170586],\n [0.47503403, 0.3085081, 0.42746046, 0.62828666],\n [0.56101286, 0.34885383, 0.6834232, 0.7991214],\n [0.94796985, 0.9983975, 0.3882422, 0.3168175]]>', 'event_hour_cos': '<tf.RaggedTensor [[0.23879345, 0.56286687, 0.10395286, 0.9803779],\n [0.8735259, 0.8191224, 0.6987805, 0.9508517],\n [0.7893286, 0.25938335, 0.9413311, 0.39071575],\n [0.07055479, 0.80096203, 0.43780208, 0.2883036],\n [0.111770056, 0.26904875, 0.47182095, 0.9736114],\n [0.8101491, 0.82414633, 0.8063273, 0.6993653],\n [0.71110797, 0.47319838, 0.11871127, 0.9379435],\n [0.2919758, 0.99880177, 0.423404, 0.40579566]]>', 'event_weekday_sin': '<tf.RaggedTensor [[0.8151913, 0.5308951, 0.6098198, 0.62053984],\n [0.26776758, 0.1522134, 0.676475, 0.3599095],\n [0.3076552, 0.5671771, 0.044789243, 0.41746667],\n [0.31245553, 0.067309044, 0.94046533, 0.2758188],\n [0.99028224, 0.6741068, 0.32716697, 0.6070125],\n [0.046452753, 0.6973015, 0.91035575, 0.30170825],\n [0.5714769, 0.8249496, 0.60799205, 0.5094672],\n [0.25499228, 0.5543269, 0.293861, 0.17119424]]>', 'event_weekday_cos': '<tf.RaggedTensor [[0.70672184, 0.8013267, 0.90591705, 0.7007231],\n [0.29772517, 0.6715878, 0.78386587, 0.35773724],\n [0.7337082, 0.07127134, 0.8546552, 0.11059116],\n [0.82335657, 0.8343963, 0.09818372, 0.2662608],\n [0.27790034, 0.017068934, 0.21067896, 0.6397068],\n [0.13516696, 0.26911286, 0.04904374, 0.7090351],\n [0.297698, 0.8401888, 0.033521578, 0.062045045],\n [0.101515464, 0.52725536, 0.55959797, 0.21533921]]>', 'user_age': 'tf.Tensor(shape=(8, 1), dtype=float32)'}
E โฌรฒ targets=None
E โฌรฒ training=False
E โฌรฒ testing=False
E โฌรฒ kwargs=<class 'inspect._empty'>
merlin/models/tf/transforms/sequence.py:234: InvalidArgumentError