{
  "id": "tensorflow/tpu-embedding-variable-not-found",
  "signature": "NotFoundError: Variable embedding_table not found in TPUEmbedding. Make sure the embedding config matches the model variables.",
  "signature_zh": "NotFoundError: 在TPUEmbedding中未找到变量embedding_table。确保嵌入配置与模型变量匹配。",
  "regex": "NotFoundError: Variable .* not found in TPUEmbedding",
  "domain": "tensorflow",
  "category": "config_error",
  "subcategory": null,
  "root_cause": "The TPUEmbedding layer's variable names or table config do not align with the model's embedding variables, often due to name scoping differences.",
  "root_cause_type": "generic",
  "root_cause_zh": "TPUEmbedding层的变量名或表配置与模型的嵌入变量不匹配，通常由名称作用域差异引起。",
  "versions": [
    {
      "version": "tensorflow==2.11.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "tensorflow==2.13.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "tensorflow==2.16.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "",
      "why_fails": "Adding more embedding layers without updating the config only increases the mismatch.",
      "fail_rate": 0.95,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "Changing the learning rate does not affect variable registration.",
      "fail_rate": 0.8,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Ensure the TPUEmbedding config uses the same variable names as the model by setting 'name' parameters explicitly in both the embedding layer and the config.",
      "success_rate": 0.9,
      "how": "Ensure the TPUEmbedding config uses the same variable names as the model by setting 'name' parameters explicitly in both the embedding layer and the config.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Use tf.tpu.experimental.embedding.TPUEmbedding with the exact variable names from the model's get_weights() output.",
      "success_rate": 0.75,
      "how": "Use tf.tpu.experimental.embedding.TPUEmbedding with the exact variable names from the model's get_weights() output.",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "Ensure the TPUEmbedding config uses the same variable names as the model by setting 'name' parameters explicitly in both the embedding layer and the config.",
    "Use tf.tpu.experimental.embedding.TPUEmbedding with the exact variable names from the model's get_weights() output."
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://www.tensorflow.org/api_docs/python/tf/tpu/experimental/embedding/TPUEmbedding",
  "official_doc_section": null,
  "error_code": "TPUEV",
  "verification_tier": "ai_generated",
  "confidence": 0.88,
  "fix_success_rate": 0.85,
  "resolvable": "true",
  "first_seen": "2023-09-20",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}