{"record":{"id":"0e3d52661c7048e9","repo":"tensorflow/models","slug":"skipping-eval-during-pretraining-without-supervise","errorCode":null,"errorMessage":"Skipping eval during pretraining without supervised head.","messagePattern":"Skipping eval during pretraining without supervised head\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/projects/simclr/tasks/simclr.py","lineNumber":339,"sourceCode":"    for var in tvars:\n      logging.info(var.name)\n    grads = tape.gradient(scaled_loss, tvars)\n    # Scales back gradient when LossScaleOptimizer is used.\n    if isinstance(optimizer, tf_keras.mixed_precision.LossScaleOptimizer):\n      grads = optimizer.get_unscaled_gradients(grads)\n    optimizer.apply_gradients(list(zip(grads, tvars)))\n\n    logs = {self.loss: losses['total_loss']}\n\n    for m in metrics:  # pyrefly: ignore[not-iterable]\n      m.update_state(losses[m.name])\n      logs.update({m.name: m.result()})\n\n    return logs\n\n  def validation_step(self, inputs, model, metrics=None):\n    if self.task_config.model.supervised_head is None:\n      raise ValueError(\n          'Skipping eval during pretraining without supervised head.')\n\n    features, labels = inputs\n    if self.task_config.evaluation.one_hot:\n      num_classes = self.task_config.model.supervised_head.num_classes\n      labels = tf.one_hot(labels, num_classes)\n\n    outputs = model(\n        features, training=False)[simclr_model.SUPERVISED_OUTPUT_KEY]\n    outputs = tf.nest.map_structure(lambda x: tf.cast(x, tf.float32), outputs)\n\n    logs = {self.loss: 0}\n\n    if metrics:\n      self.process_metrics(metrics, labels, outputs)\n      logs.update({m.name: m.result() for m in metrics})\n    elif model.compiled_metrics:\n      self.process_compiled_metrics(model.compiled_metrics, labels, outputs)","sourceCodeStart":321,"sourceCodeEnd":357,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/projects/simclr/tasks/simclr.py#L321-L357","documentation":"Error \"Skipping eval during pretraining without supervised head.\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/projects/simclr/tasks/simclr.py:339 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"}