# 模型注册说明 ## 概述 本项目使用基于配置文件的模型注册机制,每个模型目录下的 `model_config.json` 文件用于注册该目录下的模型。 ## model_config.json 格式 ### 基本格式 每个 `model_config.json` 文件是一个 JSON 数组,包含一个或多个模型配置对象: ```json [ { "name": "模型名称", "module": "模型模块路径", "entry": "模型入口点" } ] ``` ### 字段说明 - **name**: 模型的唯一标识符,用于在配置文件中选择模型 - **module**: 模型所在的模块路径,使用 Python 导入格式 - **entry**: 模型的入口点,可以是类名或函数名 ### 示例 #### 1. 单个模型 ```json [ { "name": "DDGCRN", "module": "model.DDGCRN.DDGCRN", "entry": "DDGCRN" } ] ``` #### 2. 多个模型(同一目录下的不同版本) ```json [ { "name": "ASTRA", "module": "model.ASTRA.astra", "entry": "ASTRA" }, { "name": "ASTRA_v2", "module": "model.ASTRA.astrav2", "entry": "ASTRA" }, { "name": "ASTRA_v3", "module": "model.ASTRA.astrav3", "entry": "ASTRA" } ] ``` #### 3. 函数模型 ```json [ { "name": "STGNCDE", "module": "model.STGNCDE.Make_model", "entry": "make_model" } ] ``` ## 添加新模型 1. 在 `model` 目录下创建模型目录 2. 在该目录下实现模型代码 3. 创建 `model_config.json` 文件,配置模型信息 4. 在配置文件中使用模型名称选择模型 ## 注意事项 1. 模型名称必须唯一,不允许重复 2. 模块路径必须是正确的 Python 导入路径 3. 入口点必须是模块中存在的类或函数 4. 配置文件必须是有效的 JSON 格式 5. 每个模型目录下只能有一个 `model_config.json` 文件 ## 模型选择 在配置文件中,通过 `basic.model` 字段指定要使用的模型名称: ```json { "basic": { "model": "ASTRA" }, "model": { // 模型特定配置 } } ``` ## 冲突检测 系统会自动检测模型名冲突,如有冲突会抛出 `AssertionError` 并显示冲突信息。