File size: 17,499 Bytes
2581126 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | {
"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
}
}
|