check_registry.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import sys
  2. import os
  3. # 添加PaddleX路径
  4. sys.path.insert(0, '/Users/zhch158/workspace/repository.git/PaddleX')
  5. def check_registration():
  6. """检查模型注册状态"""
  7. # 1. 检查基础注册机制
  8. try:
  9. from paddlex.repo_apis.base.register import MODEL_INFO_REGISTRY
  10. print(f"初始注册数量: {len(MODEL_INFO_REGISTRY._table)}")
  11. except Exception as e:
  12. print(f"导入注册表失败: {e}")
  13. return
  14. # 2. 手动导入各个注册模块
  15. registration_modules = [
  16. 'paddlex.repo_apis.PaddleOCR_api.text_det.register',
  17. 'paddlex.repo_apis.PaddleOCR_api.text_rec.register',
  18. 'paddlex.repo_apis.PaddleOCR_api.table_rec.register',
  19. 'paddlex.repo_apis.PaddleOCR_api.textline_orientation.register',
  20. 'paddlex.repo_apis.PaddleDetection_api.layout_detection.register',
  21. 'paddlex.repo_apis.PaddleClas_api.image_classification.register'
  22. ]
  23. for module_name in registration_modules:
  24. try:
  25. __import__(module_name)
  26. print(f"✓ 成功导入: {module_name}")
  27. print(f" 当前注册数量: {len(MODEL_INFO_REGISTRY._table)}")
  28. except Exception as e:
  29. print(f"✗ 导入失败: {module_name} - {e}")
  30. # 3. 显示所有已注册模型
  31. print(f"\n最终已注册的模型({len(MODEL_INFO_REGISTRY._table)}):")
  32. for model_name in sorted(MODEL_INFO_REGISTRY._table.keys()):
  33. print(f" - {model_name}")
  34. # 4. 检查SLANet_plus是否存在
  35. if 'SLANet_plus' in MODEL_INFO_REGISTRY._table:
  36. print(f"\n✓ SLANet_plus 已注册!")
  37. model_info = MODEL_INFO_REGISTRY._table['SLANet_plus']
  38. print(f" 配置路径: {model_info.get('config_path', 'N/A')}")
  39. else:
  40. print(f"\n✗ SLANet_plus 未注册")
  41. # 查找相似模型
  42. similar_models = [name for name in MODEL_INFO_REGISTRY._table.keys()
  43. if 'sla' in name.lower() or 'table' in name.lower()]
  44. if similar_models:
  45. print(f" 相似模型: {similar_models}")
  46. if __name__ == "__main__":
  47. check_registration()