From e6f58e7bc74a2dc4b371a4045b1a8d86e39333bb Mon Sep 17 00:00:00 2001
From: 游雁 <zhifu.gzf@alibaba-inc.com>
Date: 星期四, 31 十月 2024 18:38:05 +0800
Subject: [PATCH] docs(tutorial): 添加新模型注册教程

---
 docs/tutorial/README.md |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/docs/tutorial/README.md b/docs/tutorial/README.md
index 9b68e73..590c625 100644
--- a/docs/tutorial/README.md
+++ b/docs/tutorial/README.md
@@ -7,6 +7,7 @@
  <a href="#Inference"> Model Inference </a>   
 锝�<a href="#Training"> Model Training and Testing </a>
 锝�<a href="#Export"> Model Export and Testing </a>
+锝�<a href="#new-model-registration-tutorial"> New Model Registration Tutorial </a>
 </h4>
 </div>
 
@@ -424,3 +425,59 @@
 ```
 
 More examples ref to [demo](https://github.com/alibaba-damo-academy/FunASR/tree/main/runtime/python/onnxruntime)
+
+
+<a name="new-model-registration-tutorial"></a>
+## New Model Registration Tutorial
+
+### Viewing the Registry
+
+```plaintext
+from funasr.register import tables
+
+tables.print()
+```
+
+Supports viewing the registry of a specified type: `tables.print("model")`
+
+### Registering Models
+
+```python
+from funasr.register import tables
+
+@tables.register("model_classes", "SenseVoiceSmall")
+class SenseVoiceSmall(nn.Module):
+  def __init__(*args, **kwargs):
+    ...
+
+  def forward(
+      self,
+      **kwargs,
+  ):  
+
+  def inference(
+      self,
+      data_in,
+      data_lengths=None,
+      key: list = None,
+      tokenizer=None,
+      frontend=None,
+      **kwargs,
+  ):
+    ...
+
+```
+
+Add `@tables.register("model_classes","SenseVoiceSmall")` before the class name that needs to be registered to complete the registration. The class needs to implement the methods: __init__, forward, and inference.
+
+Complete code: [https://github.com/modelscope/FunASR/blob/main/funasr/models/sense_voice/model.py#L443](https://github.com/modelscope/FunASR/blob/main/funasr/models/sense_voice/model.py#L443)
+
+After registration, specify the newly registered model in config.yaml to define the model
+
+```python
+model: SenseVoiceSmall
+model_conf:
+  ...
+```
+
+[More detailed tutorial documents](https://github.com/modelscope/FunASR/blob/main/docs/tutorial/Tables_zh.md)
\ No newline at end of file

--
Gitblit v1.9.1