# 创建自定义算子
ModelArts数据精炼提供预置算子，覆盖常见的数据处理场景。当预置算子无法满足您的数据处理需求时，您可以基于ModelArts数据精炼SDK开发自定义算子，并在控制台创建算子进行管理。本文介绍如何在ModelArts创建自定义算子。
 #### 前提条件
已完成[开发自定义算子](https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0039.html)。
#### 计费说明
使用自定义算子产生的费用包含在ModelArts数据精炼计费中，不单独计费。计费详情，请参见[数据管理计费项](https://support.huaweicloud.com/price-modelarts/price-modelarts-0009.html)。
#### 创建自定义算子
1. 登录[ModelArts管理控制台](https://console.huaweicloud.com/modelarts/)，在左侧导航栏选择"数据准备 \> 数据精炼"。
2. 在"智能精炼"页面右上方单击"精炼配置"。 ![](https://support.huaweicloud.com/dataprepare-modelarts/figure/zh-cn_image_0000002710202767.png)
   
   
3. 单击"自定义"页签，在页面右上角单击"创建"。
4. 在"创建算子"页面，配置相关信息，单击"立即创建"。
    表1创建算子参数说明 
   | 参数                                                             || 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 示例值                                                                    |
   |:---|---|:---|:---|
   | 基本信息 | 名称       | 名称需以字母或中文开头和结尾，仅支持字母、数字、中文、中划线和下划线，长度2\~128个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | DATA-FILTERING                                                       |
   | 基本信息 | 版本        | 默认为V1。当算子更新时，同步更新版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | V1                                                                     |
   | 基本信息 | 算子类别选择  | 按作用分类，快速定位数据精炼算子。 - 数据转换：对已有字段做确定性的格式或结构变更（如类型转换、编码统一、脱敏），不引入新的语义信息，处理前后信息含量不变。  - 数据过滤：按条件对每条记录做独立判断，不符合条件的整条剔除。判断只看当前记录本身，不依赖其他记录。  - 数据标注：为已有记录追加语义标签、属性或评分（如分类标签、检测框、质量分），原内容不变，标签用于说明"这条数据是什么/质量如何"，服务于模型训练或评估。   | 数据过滤                                                                   |
   | 基本信息 | 描述        | 自定义算子的描述。最大支持200个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | -                                                                    |
   | 算子配置      | 算子执行实例规格类型 | 支持选择CPU或NPU。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | CPU                                                                   |
   | 算子配置      | 输入数据集类型   | 请确认算子输入数据集类型与输出数据集类型保持一致，并确保与算子包中对应数据集类型的数据集格式符合平台要求，**该配置项创建后不可修改**。 输入数据集类型支持选择文本、图片、视频和其他。                                                                                                                                                                                                                                                                                                                                                                                                                             | 图片，基础图片                                                                 |
   | 算子配置      | 界面参数    | 配置算子参数的信息，支持选择"暂不配置"和"立即配置"。 单击"立即配置"，配置算子参数的名称、界面显示名称、参数类型、约束类型等信息。在算子参数卡片右侧，单击"预览"，可以查看参数效果；单击"删除"，则删除该算子参数。 在算子参数卡片下方，单击"添加界面参数"，可配置多个算子参数。最大支持添加50个算子参数。单击"界面效果预览"，可查看已配置的所有算子参数。                                                                                                                                                                                                                                                                                      | 立即配置，配置参数参见[表2]   |
   | 算子包上传  | 来源       | 上传已开发的算子包（[前提条件]获取），支持选择"对象存储服务OBS"和"本地上传"。支持上传1个tar文件，文件大小不超过4GB，tar包内文件名仅支持英文字符。 - 存储类型：支持选择"对象存储 OBS-对象桶"和"对象存储 OBS-并行文件系统"。  - 存储地址：配置待连接至本平台的数据当前所在的存储地址，用于后续数据管理与访问。必须以obs://或/开头，必须以.tar结尾，且除前缀外不得出现//。                                                 | 本地上传，对象存储 OBS-对象桶，obs://dataset-test/DATA_FILTERING_IMAGE/，选择本地tar包上传 |
      
    表2界面参数配置示例 
   | 参数名称（key值）          | 界面显示名称   | 参数类型   | 约束类型 | 是否必填 | 默认值  | 参数描述                         |
   |:---|:---|:---|:---|:---|:---|:---|
   | width_limit         | 最小宽度    | INT     | 不涉及    | 否   | 200 | 图片的最小宽度（像素），小于此值的图片将被过滤。      |
   | height_limit        | 最小高度     | INT  | 不涉及   | 否   | 200  | 图片的最小高度（像素），小于此值的图片将被过滤。      |
   | file_size_limit     | 最小文件大小 | INT    | 不涉及  | 否     | 5120 | 图片的最小文件大小（字节），小于此值的图片将被过滤。   |
   | aspect_ratio_limit | 最大宽高比  | FLOAT | 不涉及   | 否   | 3    | 图片的最大宽高比（宽÷高），大于此值的图片将被过滤。 |
      
   
5. 创建完后，在"自定义"页签，可以看到新创建的算子卡片。
   图1自定义算子   
   ![](https://support.huaweicloud.com/dataprepare-modelarts/figure/zh-cn_image_0000002712673033.png)
   
   
 
#### 后续操作
创建智能精炼时，可添加已创建的自定义算子。算子名称后有![](https://support.huaweicloud.com/dataprepare-modelarts/figure/zh-cn_image_0000002713264601.png)图标，表示自定义算子。具体操作，请参见[创建智能精炼](https://support.huaweicloud.com/dataprepare-modelarts/dataprepare-modelarts-0026.html)。
图2添加自定义算子   
![](https://support.huaweicloud.com/dataprepare-modelarts/figure/zh-cn_image_0000002683543044.png)
