资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

创建模型压缩任务

功能介绍

用于创建模型压缩任务。

使用说明

本文API支持通过千帆Python SDK、Go SDK、Java SDK 和 Node.js SDK调用,调用流程请参考SDK安装及使用流程

SDK调用

调用示例

import os
from qianfan  import resources

# 通过环境变量初始化认证信息
# 使用安全认证AK/SK调用,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"



resp = resources.console.utils.call_action(
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/model", 
    # 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateModelCompTask", 
    # 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    {
        "name":"demo",
        "description": "test",
        "sourceModelId": "amv-d1zx1iwdarfr",
        "modelSetId": "am-adbuasyfaf",
        "config": {
            "strategy": "Quantization",
            "weight": "int8-ptq"
        }
    }
)

print(resp.body)
package main

import (
	"context"
	"fmt"
    "os"

	"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)

func main() {
	 // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
	os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
	os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")
    
	ca := qianfan.NewConsoleAction()
    
	res, err := ca.Call(context.TODO(),
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
    "/v2/model",
    // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
    "CreateModelCompTask",
    // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
    map[string]interface{}{
		"name":"demo",
        "description": "test",
        "sourceModelId": "amv-d1zx1iwdarfr",
        "modelSetId": "am-adbuasyfaf",    
        "config":map[string]any{
            "strategy": "Quantization",
            "weight": "int8-ptq",
         },
	})
	if err != nil {
		panic(err)
	}
	fmt.Println(string(res.Body))
	
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.console.ConsoleResponse;
import com.baidubce.qianfan.util.CollUtils;
import com.baidubce.qianfan.util.Json;
import java.util.Map;

public class Dome {
    public static void main(String args[]){
        // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
        Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
        
        ConsoleResponse<Map<String, Object>> response = qianfan.console()
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
                .route("/v2/model")
                // 调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
                .action("CreateModelCompTask")
                // 需要传入参数的场景,可以自行封装请求类,或者使用Map.of()来构建请求Body
                // Java 8可以使用SDK提供的CollUtils.mapOf()来替代Map.of()
                // 请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
                .body(CollUtils.mapOf(
                    "name","demo",
                    "description", "test",
                    "sourceModelId", "amv-d1zx1iwdarfr",
                    "modelSetId", "am-adbuasyfaf",
                    "config", CollUtils.mapOf(
                        "strategy", "Quantization",
                        "weight", "int8-ptq"
                    )
                ))
                .execute();

        System.out.println(Json.serialize(response));
    }
}
import {consoleAction, setEnvVariable} from "@baiducloud/qianfan";

// 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
setEnvVariable('QIANFAN_ACCESS_KEY','your_iam_ak');
setEnvVariable('QIANFAN_SECRET_KEY','your_iam_sk');

async function main() {
  //base_api_route:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求结构-请求地址的后缀
  //action:调用本文API,该参数值为固定值,无需修改;对应API调用文档-请求参数-Query参数的Action 
  //data:请查看本文请求参数说明,根据实际使用选择参数;对应API调用文档-请求参数-Body参数
  const res = await consoleAction({base_api_route: '/v2/model', action: 'CreateModelCompTask', data: {
        "name":"demo",
        "description": "test",
        "sourceModelId": "amv-d1zx1iwdarfr",
        "modelSetId": "am-adbuasyfaf",
        "config": {
            "strategy": "Quantization",
            "weight": "int8-ptq"
        }
    }
  });    
    
    console.log(res);
}
main();

返回示例

{
    'requestId': 'f6626bb8-ccec-4991-9b09-a2641cd098d5', 
    'result': 'amva-5v3zbk9wi8rp'
}
{
    'requestId': 'f6626bb8-ccec-4991-9b09-a2641cd098d5', 
    'result': 'amva-5v3zbk9wi8rp'
}
{
    "requestId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "result":  "amva-abcxxxx15t"
}
{
    requestId: '6ba7b810-9dad-11d1-80b4-00c04fd430c8',
    result:  'amva-abcxxxx15t'
}

请求参数

名称 类型 必填 描述
name string 模型压缩任务名称
description string 模型压缩任务描述
sourceModelId string 待加速模型版本ID, 模型版本ID需满足以下要求:
根据模型版本ID,调用获取模型版本详情接口,查看返回字段isSupportModelComp值,必须为true,对应的模型版本ID可以为该字段sourceModelId的值;如果为false,对应的模型版本ID不能为该字段sourceModelId的值
config object 模型压缩策略配置信息
modelSetId string 压缩后的模型版本所属模型id,可以通过以下任一方式获取该字段值:
· 方式一:通过调用获取我的模型列表接口,返回的modelSetId字段获取
· 方式二:通过调用新建我的模型接口,创建不带版本的空模型,返回的result字段获取

config说明

名称 类型 必填 描述
strategy string 模型压缩策略,可选值如下:
· Quantization:量化压缩策略
· Sparsity:稀疏化压缩策略
weight string 量化压缩配置,说明:
(1)当strategy为Quantization时,该字段必填
(2)可选值:
· INT8-PTQ
· W8A16C16
· W4A16C16

返回参数

名称 类型 描述
requestId string 请求ID
result string 模型压缩任务id
上一篇
模型精调
下一篇
查看模型压缩任务列表