Model Card for GraspGen (IB-Robot)
GraspGen (Generative Grasp Sampler with Diffusion Denoiser + Discriminator) for point-cloud-based robotic grasp generation, packaged for the IB-Robot framework with two deployments sharing one contract.
Deployments
| deployment | backend | artifacts | notes |
|---|---|---|---|
ascend_310p |
Ascend ACL (Ascend310P1) | 8 OM modules | board-side pipeline (generator/discriminator split graph, device links) |
torch_cuda |
PyTorch CUDA | β (weights in assets/) |
host-side debugging and evaluation |
Both deployments share the same tensor_model/graspgen/generate_grasps contract
(observation.object_points [-1,3] -> grasp.poses [-1,4,4] + grasp.confidence [-1]).
Weights provenance
assets/generator_checkpoint.pth= NVlabs/GraspGencheckpoints/graspgen_robotiq_2f_140_gen.pth(sha256fe8497108e39d8fc50be06cd7df22a2f680e0495e713d24c3104616f291e00dd)assets/discriminator_checkpoint.pth=graspgen_robotiq_2f_140_dis.pth- The 310P OM modules were converted from the same checkpoint β both deployments
are weight-identical (sha pinned in
assets/adapter.json).
Repository Structure
inference_manifest.jsonβ deployment routing (schema v3)assets/adapter.jsonβ algorithm contract, runtime parameters, checkpoint digestsassets/graspgen_config.ymlβ upstream omegaconf config (robotiq_2f_140)assets/generator_checkpoint.pth/assets/discriminator_checkpoint.pthβ Torch weightsartifacts/ascend/ascend_310p/*.omβ compiled 8-role pipeline
Usage
Host (CUDA, requires the grasp_gen package with pointnet2_ops):
from inference_manifest import load_inference_manifest
validated = load_inference_manifest("models/grasp", "torch_cuda")
# driven via manipulation_service.graspgen_wrapper (inference_backend="local_cuda")
Board (Ascend 310P): select the ascend_310p deployment through the IB-Robot
unified inference runtime.
License
Code and packaging: Apache-2.0. GraspGen model weights follow the NVlabs/GraspGen upstream license (NVIDIA Source Code License) β check compatibility before redistribution.