This is an automated email from the ASF dual-hosted git repository.
HTHou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iotdb-docs.git
The following commit(s) were added to refs/heads/main by this push:
new 33f21d8e fix timecho table ainode upgrade register chapter style
(#1108)
33f21d8e is described below
commit 33f21d8e50ee7c12dcf5348b508dc2c39f1fdc79
Author: leto-b <[email protected]>
AuthorDate: Wed May 6 11:57:41 2026 +0800
fix timecho table ainode upgrade register chapter style (#1108)
---
.../Table/AI-capability/AINode_Upgrade_timecho.md | 144 ++++++++++-----------
.../AI-capability/AINode_Upgrade_timecho.md | 144 ++++++++++-----------
2 files changed, 144 insertions(+), 144 deletions(-)
diff --git
a/src/zh/UserGuide/Master/Table/AI-capability/AINode_Upgrade_timecho.md
b/src/zh/UserGuide/Master/Table/AI-capability/AINode_Upgrade_timecho.md
index 541357b1..3f8171eb 100644
--- a/src/zh/UserGuide/Master/Table/AI-capability/AINode_Upgrade_timecho.md
+++ b/src/zh/UserGuide/Master/Table/AI-capability/AINode_Upgrade_timecho.md
@@ -491,88 +491,88 @@ IoTDB> show models
1. AINode 目前使用 v4.56.2 版本的 transformers,构建模型时需**避免继承低版本(<4.50)接口**;
2. 模型需继承一类 AINode 的推理任务流水线(当前支持预测流水线):
- 1.
iotdb-core/ainode/iotdb/ainode/core/inference/pipeline/basic\_pipeline.py
-
- ```Python
- class BasicPipeline(ABC):
- def __init__(self, model_id, **model_kwargs):
- self.model_info = model_info
- self.device = model_kwargs.get("device", "cpu")
- self.model = load_model(model_info, device_map=self.device,
**model_kwargs)
+ * iotdb-core/ainode/iotdb/ainode/core/inference/pipeline/basic\_pipeline.py
+
+ ```Python
+ class BasicPipeline(ABC):
+ def __init__(self, model_id, **model_kwargs):
+ self.model_info = model_info
+ self.device = model_kwargs.get("device", "cpu")
+ self.model = load_model(model_info, device_map=self.device,
**model_kwargs)
- @abstractmethod
- def preprocess(self, inputs, **infer_kwargs):
- """
- 在推理任务开始前对输入数据进行前处理,包括形状验证和数值转换。
- """
- pass
+ @abstractmethod
+ def preprocess(self, inputs, **infer_kwargs):
+ """
+ 在推理任务开始前对输入数据进行前处理,包括形状验证和数值转换。
+ """
+ pass
- @abstractmethod
- def postprocess(self, output, **infer_kwargs):
- """
- 在推理任务结束后对输出结果进行后处理。
- """
- pass
+ @abstractmethod
+ def postprocess(self, output, **infer_kwargs):
+ """
+ 在推理任务结束后对输出结果进行后处理。
+ """
+ pass
- class ForecastPipeline(BasicPipeline):
- def __init__(self, model_info, **model_kwargs):
- super().__init__(model_info, model_kwargs=model_kwargs)
+ class ForecastPipeline(BasicPipeline):
+ def __init__(self, model_info, **model_kwargs):
+ super().__init__(model_info, model_kwargs=model_kwargs)
- def preprocess(self, inputs: list[dict[str, dict[str, torch.Tensor] |
torch.Tensor]], **infer_kwargs):
- """
- 在将输入数据传递给模型进行推理之前进行预处理,验证输入数据的形状和类型。
+ def preprocess(self, inputs: list[dict[str, dict[str, torch.Tensor]
| torch.Tensor]], **infer_kwargs):
+ """
+ 在将输入数据传递给模型进行推理之前进行预处理,验证输入数据的形状和类型。
- Args:
- inputs (list[dict]):
- 输入数据,字典列表,每个字典包含:
- - 'targets': 形状为 (input_length,) 或 (target_count,
input_length) 的张量。
- - 'past_covariates': 可选,张量字典,每个张量形状为 (input_length,)。
- - 'future_covariates': 可选,张量字典,每个张量形状为 (input_length,)。
+ Args:
+ inputs (list[dict]):
+ 输入数据,字典列表,每个字典包含:
+ - 'targets': 形状为 (input_length,) 或 (target_count,
input_length) 的张量。
+ - 'past_covariates': 可选,张量字典,每个张量形状为 (input_length,)。
+ - 'future_covariates': 可选,张量字典,每个张量形状为
(input_length,)。
- infer_kwargs (dict, optional): 推理的额外关键字参数,如:
- - `output_length`(int): 如果提供'future_covariates',用于验证其有效性。
+ infer_kwargs (dict, optional): 推理的额外关键字参数,如:
+ - `output_length`(int): 如果提供'future_covariates',用于验证其有效性。
- Raises:
- ValueError: 如果输入格式不正确(例如,缺少键、张量形状无效)。
+ Raises:
+ ValueError: 如果输入格式不正确(例如,缺少键、张量形状无效)。
- Returns:
- 经过预处理和验证的输入数据,可直接用于模型推理。
- """
- pass
+ Returns:
+ 经过预处理和验证的输入数据,可直接用于模型推理。
+ """
+ pass
- def forecast(self, inputs, **infer_kwargs):
- """
- 对给定输入执行预测。
+ def forecast(self, inputs, **infer_kwargs):
+ """
+ 对给定输入执行预测。
- Parameters:
- inputs: 用于进行预测的输入数据。类型和结构取决于模型的具体实现。
- **infer_kwargs: 额外的推理参数,例如:
- - `output_length`(int): 模型应该生成的时间点数量。
+ Parameters:
+ inputs: 用于进行预测的输入数据。类型和结构取决于模型的具体实现。
+ **infer_kwargs: 额外的推理参数,例如:
+ - `output_length`(int): 模型应该生成的时间点数量。
- Returns:
- 预测输出,具体形式取决于模型的具体实现。
- """
- pass
+ Returns:
+ 预测输出,具体形式取决于模型的具体实现。
+ """
+ pass
- def postprocess(self, outputs: list[torch.Tensor], **infer_kwargs) ->
list[torch.Tensor]:
- """
- 在推理后对模型输出进行后处理,验证输出数据的形状并确保其符合预期维度。
+ def postprocess(self, outputs: list[torch.Tensor], **infer_kwargs)
-> list[torch.Tensor]:
+ """
+ 在推理后对模型输出进行后处理,验证输出数据的形状并确保其符合预期维度。
- Args:
- outputs:
- 模型输出,2D张量列表,每个张量形状为 `[target_count, output_length]`。
+ Args:
+ outputs:
+ 模型输出,2D张量列表,每个张量形状为 `[target_count, output_length]`。
- Raises:
- InferenceModelInternalException: 如果输出张量形状无效(例如,维数错误)。
- ValueError: 如果输出格式不正确。
+ Raises:
+ InferenceModelInternalException: 如果输出张量形状无效(例如,维数错误)。
+ ValueError: 如果输出格式不正确。
- Returns:
- list[torch.Tensor]:
- 后处理后的输出,将是一个2D张量列表。
- """
- pass
- ```
+ Returns:
+ list[torch.Tensor]:
+ 后处理后的输出,将是一个2D张量列表。
+ """
+ pass
+ ```
3. 修改模型配置文件 config.json,确保包含以下字段:
```JSON
{
@@ -585,13 +585,13 @@ IoTDB> show models
}
```
- 1. 必须通过 auto\_map 指定模型的 Config 类和模型类;
- 2. 必须集成并指定推理流水线类;
- 3. 对于 AINode
管理的内置(builtin)和自定义(user\_defined)模型,模型类别(model\_type)也作为不可重复的唯一标识。即,要注册的模型类别不得与任何已存在的模型类型重复,通过微调创建的模型将继承原模型的模型类别。
+ * 必须通过 auto\_map 指定模型的 Config 类和模型类;
+ * 必须集成并指定推理流水线类;
+ * 对于 AINode
管理的内置(builtin)和自定义(user\_defined)模型,模型类别(model\_type)也作为不可重复的唯一标识。即,要注册的模型类别不得与任何已存在的模型类型重复,通过微调创建的模型将继承原模型的模型类别。
4. 确保要注册的模型目录包含以下文件,且模型配置文件名称和权重文件名称不支持自定义:
- 1. 模型配置文件:config.json;
- 2. 模型权重文件:model.safetensors;
- 3. 模型代码:其它 .py 文件。
+ * 模型配置文件:config.json;
+ * 模型权重文件:model.safetensors;
+ * 模型代码:其它 .py 文件。
**注册自定义模型的 SQL 语法如下所示:**
diff --git
a/src/zh/UserGuide/latest-Table/AI-capability/AINode_Upgrade_timecho.md
b/src/zh/UserGuide/latest-Table/AI-capability/AINode_Upgrade_timecho.md
index 541357b1..3f8171eb 100644
--- a/src/zh/UserGuide/latest-Table/AI-capability/AINode_Upgrade_timecho.md
+++ b/src/zh/UserGuide/latest-Table/AI-capability/AINode_Upgrade_timecho.md
@@ -491,88 +491,88 @@ IoTDB> show models
1. AINode 目前使用 v4.56.2 版本的 transformers,构建模型时需**避免继承低版本(<4.50)接口**;
2. 模型需继承一类 AINode 的推理任务流水线(当前支持预测流水线):
- 1.
iotdb-core/ainode/iotdb/ainode/core/inference/pipeline/basic\_pipeline.py
-
- ```Python
- class BasicPipeline(ABC):
- def __init__(self, model_id, **model_kwargs):
- self.model_info = model_info
- self.device = model_kwargs.get("device", "cpu")
- self.model = load_model(model_info, device_map=self.device,
**model_kwargs)
+ * iotdb-core/ainode/iotdb/ainode/core/inference/pipeline/basic\_pipeline.py
+
+ ```Python
+ class BasicPipeline(ABC):
+ def __init__(self, model_id, **model_kwargs):
+ self.model_info = model_info
+ self.device = model_kwargs.get("device", "cpu")
+ self.model = load_model(model_info, device_map=self.device,
**model_kwargs)
- @abstractmethod
- def preprocess(self, inputs, **infer_kwargs):
- """
- 在推理任务开始前对输入数据进行前处理,包括形状验证和数值转换。
- """
- pass
+ @abstractmethod
+ def preprocess(self, inputs, **infer_kwargs):
+ """
+ 在推理任务开始前对输入数据进行前处理,包括形状验证和数值转换。
+ """
+ pass
- @abstractmethod
- def postprocess(self, output, **infer_kwargs):
- """
- 在推理任务结束后对输出结果进行后处理。
- """
- pass
+ @abstractmethod
+ def postprocess(self, output, **infer_kwargs):
+ """
+ 在推理任务结束后对输出结果进行后处理。
+ """
+ pass
- class ForecastPipeline(BasicPipeline):
- def __init__(self, model_info, **model_kwargs):
- super().__init__(model_info, model_kwargs=model_kwargs)
+ class ForecastPipeline(BasicPipeline):
+ def __init__(self, model_info, **model_kwargs):
+ super().__init__(model_info, model_kwargs=model_kwargs)
- def preprocess(self, inputs: list[dict[str, dict[str, torch.Tensor] |
torch.Tensor]], **infer_kwargs):
- """
- 在将输入数据传递给模型进行推理之前进行预处理,验证输入数据的形状和类型。
+ def preprocess(self, inputs: list[dict[str, dict[str, torch.Tensor]
| torch.Tensor]], **infer_kwargs):
+ """
+ 在将输入数据传递给模型进行推理之前进行预处理,验证输入数据的形状和类型。
- Args:
- inputs (list[dict]):
- 输入数据,字典列表,每个字典包含:
- - 'targets': 形状为 (input_length,) 或 (target_count,
input_length) 的张量。
- - 'past_covariates': 可选,张量字典,每个张量形状为 (input_length,)。
- - 'future_covariates': 可选,张量字典,每个张量形状为 (input_length,)。
+ Args:
+ inputs (list[dict]):
+ 输入数据,字典列表,每个字典包含:
+ - 'targets': 形状为 (input_length,) 或 (target_count,
input_length) 的张量。
+ - 'past_covariates': 可选,张量字典,每个张量形状为 (input_length,)。
+ - 'future_covariates': 可选,张量字典,每个张量形状为
(input_length,)。
- infer_kwargs (dict, optional): 推理的额外关键字参数,如:
- - `output_length`(int): 如果提供'future_covariates',用于验证其有效性。
+ infer_kwargs (dict, optional): 推理的额外关键字参数,如:
+ - `output_length`(int): 如果提供'future_covariates',用于验证其有效性。
- Raises:
- ValueError: 如果输入格式不正确(例如,缺少键、张量形状无效)。
+ Raises:
+ ValueError: 如果输入格式不正确(例如,缺少键、张量形状无效)。
- Returns:
- 经过预处理和验证的输入数据,可直接用于模型推理。
- """
- pass
+ Returns:
+ 经过预处理和验证的输入数据,可直接用于模型推理。
+ """
+ pass
- def forecast(self, inputs, **infer_kwargs):
- """
- 对给定输入执行预测。
+ def forecast(self, inputs, **infer_kwargs):
+ """
+ 对给定输入执行预测。
- Parameters:
- inputs: 用于进行预测的输入数据。类型和结构取决于模型的具体实现。
- **infer_kwargs: 额外的推理参数,例如:
- - `output_length`(int): 模型应该生成的时间点数量。
+ Parameters:
+ inputs: 用于进行预测的输入数据。类型和结构取决于模型的具体实现。
+ **infer_kwargs: 额外的推理参数,例如:
+ - `output_length`(int): 模型应该生成的时间点数量。
- Returns:
- 预测输出,具体形式取决于模型的具体实现。
- """
- pass
+ Returns:
+ 预测输出,具体形式取决于模型的具体实现。
+ """
+ pass
- def postprocess(self, outputs: list[torch.Tensor], **infer_kwargs) ->
list[torch.Tensor]:
- """
- 在推理后对模型输出进行后处理,验证输出数据的形状并确保其符合预期维度。
+ def postprocess(self, outputs: list[torch.Tensor], **infer_kwargs)
-> list[torch.Tensor]:
+ """
+ 在推理后对模型输出进行后处理,验证输出数据的形状并确保其符合预期维度。
- Args:
- outputs:
- 模型输出,2D张量列表,每个张量形状为 `[target_count, output_length]`。
+ Args:
+ outputs:
+ 模型输出,2D张量列表,每个张量形状为 `[target_count, output_length]`。
- Raises:
- InferenceModelInternalException: 如果输出张量形状无效(例如,维数错误)。
- ValueError: 如果输出格式不正确。
+ Raises:
+ InferenceModelInternalException: 如果输出张量形状无效(例如,维数错误)。
+ ValueError: 如果输出格式不正确。
- Returns:
- list[torch.Tensor]:
- 后处理后的输出,将是一个2D张量列表。
- """
- pass
- ```
+ Returns:
+ list[torch.Tensor]:
+ 后处理后的输出,将是一个2D张量列表。
+ """
+ pass
+ ```
3. 修改模型配置文件 config.json,确保包含以下字段:
```JSON
{
@@ -585,13 +585,13 @@ IoTDB> show models
}
```
- 1. 必须通过 auto\_map 指定模型的 Config 类和模型类;
- 2. 必须集成并指定推理流水线类;
- 3. 对于 AINode
管理的内置(builtin)和自定义(user\_defined)模型,模型类别(model\_type)也作为不可重复的唯一标识。即,要注册的模型类别不得与任何已存在的模型类型重复,通过微调创建的模型将继承原模型的模型类别。
+ * 必须通过 auto\_map 指定模型的 Config 类和模型类;
+ * 必须集成并指定推理流水线类;
+ * 对于 AINode
管理的内置(builtin)和自定义(user\_defined)模型,模型类别(model\_type)也作为不可重复的唯一标识。即,要注册的模型类别不得与任何已存在的模型类型重复,通过微调创建的模型将继承原模型的模型类别。
4. 确保要注册的模型目录包含以下文件,且模型配置文件名称和权重文件名称不支持自定义:
- 1. 模型配置文件:config.json;
- 2. 模型权重文件:model.safetensors;
- 3. 模型代码:其它 .py 文件。
+ * 模型配置文件:config.json;
+ * 模型权重文件:model.safetensors;
+ * 模型代码:其它 .py 文件。
**注册自定义模型的 SQL 语法如下所示:**