{"record":{"id":"6cb4bd5bdb5cdeac","repo":"tensorflow/models","slug":"seq-length-should-be-a-multiple-of-permutation","errorCode":null,"errorMessage":"`seq_length` should be a multiple of `permutation_size`.","messagePattern":"`seq_length` should be a multiple of `permutation_size`\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/nlp/data/pretrain_dataloader.py","lineNumber":283,"sourceCode":"\n      perm_mask_0 = tf.concat([\n          perm_mask_0,\n          tf.zeros([self._reuse_length, non_reuse_len], dtype=tf.int32)\n      ],\n                              axis=1)\n      perm_mask_1 = tf.concat([\n          tf.ones([non_reuse_len, self._reuse_length], dtype=tf.int32),\n          perm_mask_1\n      ],\n                              axis=1)\n      perm_mask = tf.concat([perm_mask_0, perm_mask_1], axis=0)\n      target_mask = tf.concat([target_mask_0, target_mask_1], axis=0)\n      tokens = tf.concat([tokens_0, tokens_1], axis=0)\n      masked_tokens = tf.concat([masked_0, masked_1], axis=0)\n    else:\n      # Disable the memory mechanism.\n      if self._seq_length % self._permutation_size != 0:\n        raise ValueError('`seq_length` should be a multiple of '\n                         '`permutation_size`.')\n      # Permute the entire sequence together\n      perm_mask, target_mask, tokens, masked_tokens = self._get_factorization(\n          inputs=inputs, input_mask=input_mask)\n    x['permutation_mask'] = tf.reshape(perm_mask,\n                                       [self._seq_length, self._seq_length])\n    x['input_word_ids'] = tokens\n    x['masked_tokens'] = masked_tokens\n\n    target = tokens\n    if self._max_predictions_per_seq is not None:\n      indices = tf.range(self._seq_length, dtype=tf.int32)\n      bool_target_mask = tf.cast(target_mask, tf.bool)\n      indices = tf.boolean_mask(indices, bool_target_mask)\n\n      # account for extra padding due to CLS/SEP.\n      actual_num_predict = tf.shape(indices)[0]\n      pad_len = self._max_predictions_per_seq - actual_num_predict","sourceCodeStart":265,"sourceCodeEnd":301,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/nlp/data/pretrain_dataloader.py#L265-L301","documentation":"Error \"`seq_length` should be a multiple of `permutation_size`.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/nlp/data/pretrain_dataloader.py:283 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e006f5f0d534913e49c1f1dae87364039fa607e2","analyzedAt":"2026-08-24T14:09:15.576Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}