tensorflow/models · error · ValueError
max_unique_ids_per_table is not either a list or an int or N
Error message
max_unique_ids_per_table is not either a list or an int or None, got {type(max_unique_ids_per_table)} What it means
Error "max_unique_ids_per_table is not either a list or an int or None, got {type(max_unique_ids_per_table)}" thrown in tensorflow/models.
Source
Thrown at official/recommendation/ranking/task.py:108
elif isinstance(max_ids_per_table, int):
max_ids_per_table = [max_ids_per_table] * len(vocab_sizes)
elif max_ids_per_table is not None:
raise ValueError(
'max_ids_per_table is not either a list or an int or None, got '
f'{type(max_ids_per_table)}'
)
if isinstance(max_unique_ids_per_table, List):
if len(vocab_sizes) != len(max_unique_ids_per_table):
raise ValueError(
f'length of vocab_sizes: {len(vocab_sizes)} is not equal to the '
'length of max_unique_ids_per_table: '
f'{len(max_unique_ids_per_table)}'
)
elif isinstance(max_unique_ids_per_table, int):
max_unique_ids_per_table = [max_unique_ids_per_table] * len(vocab_sizes)
elif max_unique_ids_per_table is not None:
raise ValueError(
'max_unique_ids_per_table is not either a list or an int or None, '
f'got {type(max_unique_ids_per_table)}'
)
feature_config = {}
sparsecore_config = None
max_ids_per_table_dict = {}
max_unique_ids_per_table_dict = {}
for i, vocab_size in enumerate(vocab_sizes):
table_config = tf.tpu.experimental.embedding.TableConfig(
vocabulary_size=vocab_size,
dim=embedding_dim[i],
combiner='mean',
initializer=tf.initializers.TruncatedNormal(
mean=0.0, stddev=1 / math.sqrt(embedding_dim[i])
),
name=table_name_prefix + '_%02d' % i,View on GitHub (pinned to e006f5f0d5)
When it happens
Trigger: Thrown at official/recommendation/ranking/task.py:108 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tensorflow/models@e006f5f0d5 (2026-08-24).
Data as JSON: /api/errors/f0b4fecb53f1c502.
Report an issue: GitHub.