hispark-modelzoo-act / model-card.json
shadow-cann's picture
Add files using upload-large-folder tool
2581126 verified
{
"name": "ACT",
"id": "ivcifqkd0400",
"description": "ACT(Action Chunking with Transformers)是面向机器人学习场景的高性能端到端动作控制模型。相比传统模块化机器人控制模型,ACT采用轻量化Transformer架构作为核心骨干进行动作表征学习,结合多模态感知融合模块和时序动作优化网络,在控制精度和实时响应速度上均有显著提升。",
"category": "多模态",
"framework": [
"PyTorch"
],
"supportOs": [
"OpenEuler"
],
"computingPower": [
"Hi3403V100 SVP_NNN"
],
"tags": [
"具身智能"
],
"repositoryUrl": "https://gitee.com/HiSpark/modelzoo/blob/master/samples/contribute/ACT/README.md",
"licenseUrl": "https://github.com/tonyzhaozh/act/blob/main/LICENSE",
"downloads": [
{
"fileName": "ACT.zip",
"variants": [
"源模型 / 源模型下载",
"源模型 / 源模型元数据"
]
},
{
"fileName": "act_distill_fp32_for_mindcmd_simp_release.om",
"variants": [
"编译模型 / OM 元数据 / a16w8"
]
},
{
"fileName": "SVP_NNN_PC_V1.0.6.0.tgz",
"variants": [
"附加资源 / 附加资源"
]
}
],
"apiDetail": {
"createdBy": 140009447602724,
"creationDate": "2026-03-03 10:30:33",
"creationUserCN": "liuweihong",
"lastUpdatedBy": null,
"lastUpdateDate": "2026-03-04 16:06:22",
"lastUpdateUserCN": "liuweihong",
"rowIdx": -1,
"id": "ivcifqkd0400",
"name": "ACT",
"isBeta": 0,
"betaVersionDesc": "",
"description": "ACT(Action Chunking with Transformers)是面向机器人学习场景的高性能端到端动作控制模型。相比传统模块化机器人控制模型,ACT采用轻量化Transformer架构作为核心骨干进行动作表征学习,结合多模态感知融合模块和时序动作优化网络,在控制精度和实时响应速度上均有显著提升。",
"parentId": "ivcifqkd0400",
"coverImageId": 1731868158459906,
"coverImageUrl": "https://openxinhuo-board-image.obs.cn-east-3.myhuaweicloud.com/1731868158459906%2F%E6%A8%A1%E5%9E%8B%E5%B0%81%E9%9D%A2.png",
"modelEffectId": 1731868175171585,
"modelEffectUrl": "https://openxinhuo-board-image.obs.cn-east-3.myhuaweicloud.com/1731868175171585%2F3403_act.mp4",
"computerVersion": [],
"naturalLanguageProcess": [],
"multimodal": [
"具身智能"
],
"video": [],
"framework": [
"PyTorch"
],
"modelRepository": "https://gitee.com/HiSpark/modelzoo/blob/master/samples/contribute/ACT/README.md",
"originModel": [
{
"id": "1731868741468161",
"name": "ACT.zip",
"url": null,
"size": "950831252"
}
],
"originModelLink": "",
"dataSet": "https://huggingface.co/datasets/lwh2017/grab_banana/tree/main/banana_grasp_100_320x240",
"modelLicense": "https://github.com/tonyzhaozh/act/blob/main/LICENSE",
"detailParams": [
{
"name": "输入",
"value": "1 x 6;1 x 3 x 240 x 320;1 x 3 x 240 x 320"
},
{
"name": "参数量",
"value": "87 M"
},
{
"name": "计算量",
"value": "8.02 GFLOPs"
}
],
"quickStart": {
"url": "https://gitee.com/HiSpark/modelzoo/blob/master/samples/contribute/ACT/SVP_NNN/src/main.cpp",
"markDownUrl": "",
"developLanguage": [
{
"language": "C++",
"context": "{\"ops\":[{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"16px\",\"color\":\"#333333\"},\"insert\":\"模型可以通过以下代码生成可执行文件,并开放接口由python调用执行推理,以 SVP_NNN 推理引擎为例。\"},{\"attributes\":{\"text-indent\":\"0px\"},\"insert\":\"\\n\"},{\"insert\":\"#include <fstream>\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include <iostream>\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include \\\"sample_process.h\\\"\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include \\\"utils.h\\\"\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include <vector>\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"#include <string>\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"using namespace std;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"int main() {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    // 初始化推理环境(只执行一次)\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    SampleProcess sample;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    if (sample.InitResource() != SUCCESS) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        cerr << \\\"Init resource failed\\\" << endl;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        return -1;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"    // 加载模型(只执行一次)\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    if (sample.LoadModel() != SUCCESS) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        cerr << \\\"Load model failed\\\" << endl;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        sample.DestroyResource();\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        return -1;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"    // 循环处理多次输入\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    while (true) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        vector<const void*> input_datas;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        vector<size_t> input_sizes;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        const int INPUT_COUNT = 3;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"        // 读取输入数据(保持原有逻辑)\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        bool readSuccess = true;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        for (int i = 0; i < INPUT_COUNT; ++i) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            uint32_t data_size;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            cin.read(reinterpret_cast<char*>(&data_size), sizeof(data_size));\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            if (!cin.good()) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                cerr << \\\"Read input \\\" << i << \\\" size failed\\\" << endl;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                readSuccess = false;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                break;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"            void* data = nullptr;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            svp_acl_error ret = svp_acl_rt_malloc(&data, data_size, SVP_ACL_MEM_MALLOC_NORMAL_ONLY);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            if (ret != SVP_ACL_SUCCESS || data == nullptr) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                cerr << \\\"Malloc buffer for input \\\" << i << \\\" failed\\\" << endl;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                readSuccess = false;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                break;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"            cin.read(reinterpret_cast<char*>(data), data_size);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            if (!cin.good()) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                cerr << \\\"Read input \\\" << i << \\\" data failed\\\" << endl;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                svp_acl_rt_free(data);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                readSuccess = false;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"                break;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"            input_datas.push_back(data);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            input_sizes.push_back(data_size);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"        // 检查是否读取失败(比如到达输入末尾)\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        if (!readSuccess) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            // 释放已分配的内存\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            for (auto ptr : input_datas) svp_acl_rt_free(ptr);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            break;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"        // 设置输入并执行推理\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        sample.SetInputDatas(input_datas, input_sizes);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        if (sample.Process() != SUCCESS) {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            cerr << \\\"Inference failed\\\" << endl;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        } else {\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"            cout << \\\"3-input inference success\\\" << endl; // 注意这里修正了原代码的数字错误(5->3)\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"        // 释放当前批次的输入内存\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"        for (auto data : input_datas) svp_acl_rt_free(data);\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    }\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\\n\"},{\"insert\":\"    // 最后释放所有资源\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    sample.DestroyResource();\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"    return 0;\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"insert\":\"}\"},{\"attributes\":{\"code-block\":\"plain\"},\"insert\":\"\\n\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"16px\",\"color\":\"#40485b\",\"line-height\":\"1.6\"},\"insert\":\"备注:上述C++代码依赖的动态库与头文件位于\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"16px\",\"color\":\"#40485b\",\"line-height\":\"1.6\",\"link\":\"https://gitee.com/HiSpark/modelzoo/tree/master/samples/contribute/ACT/SVP_NNN/src\"},\"insert\":\"samples/contribute/ACT/SVP_NNN/src\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"16px\",\"color\":\"#40485b\",\"line-height\":\"1.6\"},\"insert\":\"目录下,编译相关配置参考\"},{\"attributes\":{\"background\":\"transparent\",\"size\":\"16px\",\"color\":\"#095eab\",\"line-height\":\"1.6\",\"link\":\"https://gitee.com/HiSpark/modelzoo/blob/master/samples/contribute/ACT/SVP_NNN/src/CMakeLists.txt\"},\"insert\":\"CMakeLists.txt\"},{\"attributes\":{\"background\":\"#ffffff\",\"size\":\"16px\",\"color\":\"#40485b\",\"line-height\":\"1.6\"},\"insert\":\"。\"},{\"insert\":\"\\n\"}]}"
}
]
},
"status": "released",
"currentHandler": "",
"currentHandlerName": "",
"jsonPath": "",
"modelAdaptor": [
{
"createdBy": null,
"creationDate": null,
"creationUserCN": null,
"lastUpdatedBy": null,
"lastUpdateDate": null,
"lastUpdateUserCN": null,
"rowIdx": -1,
"id": "i8ttm5k1tc00",
"name": "Hi3403V100 SVP_NNN",
"modelId": "ivcifqkd0400",
"modelName": "ACT",
"supportNames": [
"a16w8"
],
"toolkit": [
{
"name": "CANN工具",
"url": "https://hispark-obs.obs.cn-east-3.myhuaweicloud.com/SVP_NNN_PC_V1.0.6.0.tgz",
"desc": "AI异构计算架构;提升计算效率的关键平台",
"imgId": "cann"
},
{
"name": "编译工具库",
"url": "https://gitee.com/HiSpark/pegasus/blob/Beta-v0.9.1/docs/Hi3403V100%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%8D%97/Hi3403V100%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E6%8C%87%E5%8D%97.md",
"desc": "高效编译,精准适配;AI性能优化,应用流畅运行",
"imgId": "tool"
},
{
"name": "SDK",
"url": "https://gitee.com/HiSpark/ss928v100_clang/tree/Beta-v0.9.1/",
"desc": "稳定、易用的设计;支撑客户快速产品量产",
"imgId": "sdk"
}
],
"supportOs": [
"OpenEuler"
],
"supportQuantify": [
{
"createdBy": 140009447602724,
"creationDate": "2026-03-04 10:24:37",
"creationUserCN": "liuweihong",
"lastUpdatedBy": 140009447602724,
"lastUpdateDate": "2026-03-04 10:24:37",
"lastUpdateUserCN": "liuweihong",
"rowIdx": -1,
"id": "ivmqn4s10400",
"name": "a16w8",
"computingId": "i8ttm5k1tc00",
"computingName": "Hi3403V100 SVP_NNN",
"omOfflineModelUrl": null,
"omOfflineModelId": null,
"omOfflineModelSize": null,
"omOfflineModelName": null,
"omOfflineModel": [
{
"id": "1731869443948545",
"name": "act_distill_fp32_for_mindcmd_simp_release.om",
"url": null,
"size": "72787553"
}
],
"omOfflineModelLink": "",
"releaseTime": "2026-03-03",
"boardOs": null,
"modelLicense": "https://gitee.com/HiSpark/modelzoo/blob/master/samples/contribute/ACT/LICENSE",
"modelPerformance": [
{
"performanceValue": "37",
"unit": "耗时(ms)",
"desc": ""
},
{
"performanceValue": "27",
"unit": "性能(fps)",
"desc": ""
},
{
"performanceValue": "1.8",
"unit": "内存(GB)",
"desc": ""
}
],
"deleted": 0
}
],
"deleted": 0
}
],
"saveType": null,
"deleteType": null,
"latest": "Y",
"deleted": 0,
"modelPhase": "released",
"remark": null,
"fileInfo": null,
"reviewType": null,
"owner": "liuweihong",
"ownerBy": 140009447602724,
"optional": null,
"optionalList": null,
"optionalBy": null,
"downloadNum": 26,
"collectNum": null,
"isCollect": null
}
}