CogACT-Base 是一个 70 亿参数的**视觉-语言-动作(VLA)**模型,可将单目 RGB 图像与自然语言指令映射为下一步的 16 个(7 自由度) 机器人末端执行器增量动作 (x, y, z, roll, pitch, yaw, gripper)。该模型基于 DINOv2 + SigLIP 双视觉编码器、Llama-2-7B 文本主干网络以及 DiT-B 扩散动作头构建,并在 Open X-Embodiment 数据集上完成了预训练。
本仓库将 CogACT/CogACT-Base 适配至 Ascend NPU 平台,通过 torch_npu(Ascend 910B,npu:0,bfloat16)运行。随附的模型源码位于 model_code/ 目录(MIT 许可,来自 microsoft/CogACT),已移除全部 CUDA 设备调用。
.cuda() / torch.cuda / device="cuda" 调用均已移除;模型及所有输入张量均位于 npu:0 上。try-except 包裹——初始化失败时打印 JSON 格式错误信息并退出进程。torch.compile。pretrained=False 实例化,LLM 框架以 inference_mode=True 构建——实际权重从本地 CogACT-Base.pt 检查点加载,因此推理时不会触发 HuggingFace / timm 权重下载。model_weights/CogACT/CogACT-Base/
checkpoints/CogACT-Base.pt — 完整 PyTorch 检查点(约 30 GB,bf16 模型 + 优化器状态;仅使用 model 键)config.json、config.yaml、dataset_statistics.jsonllama2-tokenizer/ — 本地 Llama-2 分词器(config.json、tokenizer.json 等)inference.py 自动使用上述本地缓存。若检查点缺失,脚本将拒绝启动,而非重新下载。https://ai.gitcode.com/hf_mirrors/CogACT/CogACT-Base
(备用镜像:https://hf-mirror.com/CogACT/CogACT-Base)。安装依赖(Ascend 平台需安装 torch + torch_npu,详见 requirements.txt):
pip install -r requirements.txtASCEND_RT_VISIBLE_DEVICES=1 python3 inference.py --img examples/demo.jpg \
--instr "pick up the object" 2>cli.err | tee cli.log向标准输出(stdout)打印一个 JSON 对象(CANN 噪声信息输出到标准错误 stderr)。
python3 inference.py --mode server --port 8786GET / — 极简深色终端风格HTML上传页面。POST /predict — 接收multipart格式的file(机器人视角图像)及可选的instr表单字段 → 返回相同结构的JSON结果。curl -s -F file=@examples/demo.jpg -F instr="pick up the object" \
http://127.0.0.1:8786/predict | python3 -m json.toolexamples/demo.jpg — 机器人图像的 768×768 JPEG 裁剪版本
scripts/aml/test_image.png 来自官方 microsoft/CogACT 仓库
(1024×1024 PNG),展示了 CogACT 所期望的输入格式。{
"model": "CogACT/CogACT-Base",
"source": "https://ai.gitcode.com/hf_mirrors/CogACT/CogACT-Base",
"device": "npu:0",
"status": "success",
"instruction": "pick up the object",
"unnorm_key": "fractal20220817_data",
"cfg_scale": 1.5,
"ddim_steps": 10,
"elapsed_ms": 1234.56,
"action_dim": 7,
"num_steps": 16,
"actions": [[x,y,z,roll,pitch,yaw,gripper], ...],
"normalized_actions": [[...], ...],
"first_action": [x,y,z,roll,pitch,yaw,gripper]
}actions — 16 行 × 7 列去归一化的末端执行器增量
(使用 fractal20220817_data 数据集的统计信息进行非归一化;夹爪
通道被二值化为 0/1)。normalized_actions — 在反归一化之前,相同的动作处于 [-1, 1] 范围内。assets/agent_workflow.png — NPU 环境检查 + 依赖安装 + 启动。assets/npu_device_call.png — 实际 CLI 运行(2>cli.err | tee cli.log)。assets/model_result.png — FastAPI GET / 页面 + 实际 /predict JSON。model_code/ 目录内置。