{"record":{"id":"212737f6a03416ec","repo":"tensorflow/models","slug":"the-builder-returns-an-unexpected-instance-the-b","errorCode":null,"errorMessage":"The BUILDER returns an unexpected instance. The `build_encoder` should returns a tf.Module, tf_keras.Model or tf_keras.layers.Layer. However, we get {encoder.__class__}","messagePattern":"The BUILDER returns an unexpected instance\\. The `build_encoder` should returns a tf\\.Module, tf_keras\\.Model or tf_keras\\.layers\\.Layer\\. However, we get (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"official/nlp/configs/encoders.py","lineNumber":422,"sourceCode":"        kernel_initializer=tf_keras.initializers.TruncatedNormal(\n            stddev=encoder_cfg.initializer_range),\n    )\n    kwargs = dict(\n        embedding_cfg=embedding_cfg,\n        hidden_cfg=hidden_cfg,\n        num_hidden_instances=encoder_cfg.num_layers,\n        pooled_output_dim=encoder_cfg.hidden_size,\n        pooler_layer_initializer=tf_keras.initializers.TruncatedNormal(\n            stddev=encoder_cfg.initializer_range),\n        return_all_layer_outputs=encoder_cfg.return_all_encoder_outputs,\n        dict_outputs=True)\n    return encoder_cls(**kwargs)\n\n  if encoder_type == \"any\":\n    encoder = encoder_cfg.BUILDER(encoder_cfg)\n    if not isinstance(encoder,\n                      (tf.Module, tf_keras.Model, tf_keras.layers.Layer)):\n      raise ValueError(\"The BUILDER returns an unexpected instance. The \"\n                       \"`build_encoder` should returns a tf.Module, \"\n                       \"tf_keras.Model or tf_keras.layers.Layer. However, \"\n                       f\"we get {encoder.__class__}\")\n    return encoder\n\n  if encoder_type == \"mobilebert\":\n    return networks.MobileBERTEncoder(\n        word_vocab_size=encoder_cfg.word_vocab_size,\n        word_embed_size=encoder_cfg.word_embed_size,\n        type_vocab_size=encoder_cfg.type_vocab_size,\n        max_sequence_length=encoder_cfg.max_sequence_length,\n        num_blocks=encoder_cfg.num_blocks,\n        hidden_size=encoder_cfg.hidden_size,\n        num_attention_heads=encoder_cfg.num_attention_heads,\n        intermediate_size=encoder_cfg.intermediate_size,\n        intermediate_act_fn=encoder_cfg.hidden_activation,\n        hidden_dropout_prob=encoder_cfg.hidden_dropout_prob,\n        attention_probs_dropout_prob=encoder_cfg.attention_probs_dropout_prob,","sourceCodeStart":404,"sourceCodeEnd":440,"githubUrl":"https://github.com/tensorflow/models/blob/e006f5f0d534913e49c1f1dae87364039fa607e2/official/nlp/configs/encoders.py#L404-L440","documentation":"Error \"The BUILDER returns an unexpected instance. The `build_encoder` should returns a tf.Module, tf_keras.Model or tf_keras.layers.Layer. However, we get {encoder.__class__}\" thrown in tensorflow/models.","triggerScenarios":"Thrown at official/nlp/configs/encoders.py:422 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"}