# OpenVLA: FSDP VLA training and full fine-tuning

Pinned training entrypoint for OpenVLA action policies over configured Open X-Embodiment/RLDS mixtures using PyTorch FSDP. Statically reviewed source only; not run and no Hub preparation adapter.

ID: `openvla-vla-scripts-train-py`

Record version: `source-8ea12ec90b66ef88f6f206ea9ddbb33ed11ce20f8a714f0f73f35a3a3eda2f49`

Hub commit: `703369d7a095afb46da723634a9d983d2eda3054`

## Access

Fetch the pinned repository, verify this source checksum, and use upstream installation and invocation. This record does not install or execute code.

Optional inert file retrieval: `python /PATH_TO_SKILL/scripts/rsh.py fetch-source openvla-vla-scripts-train-py --project ./experiment --expected-source-revision c8f03f48af692657d3060c19588038c7220e9af9 --expected-source-sha256 8ea12ec90b66ef88f6f206ea9ddbb33ed11ce20f8a714f0f73f35a3a3eda2f49 --json`. This verifies one file, preserves provenance and never installs or runs it. See [source-file retrieval](https://hub.superfastrobotics.com/source-files.md).

Hub preparation adapter: **false**. Runtime verification: **not_run**.

Upstream setup: https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/README.md

## Source and license

- Repository: https://github.com/openvla/openvla
- Pinned source: https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/vla-scripts/train.py
- Revision: `c8f03f48af692657d3060c19588038c7220e9af9`
- Path: `vla-scripts/train.py`
- Source SHA256: `8ea12ec90b66ef88f6f206ea9ddbb33ed11ce20f8a714f0f73f35a3a3eda2f49`
- Source bytes: 12141
- Original authors: Moo Jin Kim, Karl Pertsch, Siddharth Karamcheti
- License: [MIT](https://github.com/openvla/openvla/blob/c8f03f48af692657d3060c19588038c7220e9af9/LICENSE)
- License scope: Selected first-party Python workflow source only. Preserve upstream copyright and per-file notices. Model weights, datasets, third-party code, robot drivers/firmware and services retain separate terms; no rights for those assets are inferred.

License SHA256: `c4ee2ba5958af03d74b1d3dfa174e3749171d689fb4c23cc170749c05ae3eeb5`

## Artifact

```json
{
  "kind": "workflow",
  "format": "python",
  "workflow_role": "policy-training"
}
```

## Requirements

```json
{
  "python": ">=3.8 in metadata; README installation uses Python 3.10.",
  "packages": [
    "Pinned OpenVLA checkout",
    "Upstream PyTorch 2.2.0, transformers 4.40.1, timm 0.9.10 and tokenizers 0.19.1 pins",
    "Workflow-specific dependencies in pinned README and source"
  ],
  "display": "Hardware: Source uses CUDA and distributed FSDP; its header assumes CUDA toolkit >=11.0 for BF16. README full-fine-tuning example uses eight A100 GPUs. The script also documents a one-GPU debug launch; the example cluster size is not a universal minimum. Weights: Loads either an explicit pretrained VLA checkpoint or the configured base VLM. README full-fine-tuning path uses a separate Prismatic-compatible OpenVLA checkpoint. Datasets: Requires configured training mixtures and local dataset root; README uses separately downloaded BridgeData V2/Open X-Embodiment data. Services/auth: Source reads the configured Hugging Face token from .hf_token by default or a named environment variable, and defaults metrics trackers to jsonl and wandb. README explicitly directs creating an HF user access token. No token was read or requested.",
  "execution_domain": "computation",
  "source_imports": [
    "dataclasses",
    "draccus",
    "json",
    "os",
    "pathlib",
    "prismatic.conf",
    "prismatic.models",
    "prismatic.overwatch",
    "prismatic.training",
    "prismatic.util",
    "prismatic.vla",
    "prismatic.vla.datasets.rlds.utils.data_utils",
    "re",
    "torch",
    "torch.distributed",
    "typing",
    "yaml"
  ],
  "notes": "The upstream .hf_token location is documentation data, not a local credential path to inspect. No credentials, models or datasets were loaded. Code licensing does not establish model, checkpoint, dataset or service permission.",
  "declared_requirements": {
    "python": ">=3.8 in metadata; README installation uses Python 3.10.",
    "weights": "Loads either an explicit pretrained VLA checkpoint or the configured base VLM. README full-fine-tuning path uses a separate Prismatic-compatible OpenVLA checkpoint.",
    "datasets": "Requires configured training mixtures and local dataset root; README uses separately downloaded BridgeData V2/Open X-Embodiment data.",
    "hardware": "Source uses CUDA and distributed FSDP; its header assumes CUDA toolkit >=11.0 for BF16. README full-fine-tuning example uses eight A100 GPUs. The script also documents a one-GPU debug launch; the example cluster size is not a universal minimum.",
    "external_services_and_auth": "Source reads the configured Hugging Face token from .hf_token by default or a named environment variable, and defaults metrics trackers to jsonl and wandb. README explicitly directs creating an HF user access token. No token was read or requested.",
    "evidence": [
      {
        "anchor": "Path(\".hf_token\")",
        "line": 76
      },
      {
        "anchor": "torch.cuda.set_device",
        "line": 111
      },
      {
        "anchor": "hf_token = cfg.hf_token.read_text()",
        "line": 128
      }
    ],
    "license_scopes": {
      "code": "MIT for selected first-party workflow source.",
      "weights": "README explicitly says the released OpenVLA models derive from Llama-2 and are subject to the Llama Community License. No checkpoint/model card/base-model license was fetched or evaluated here; MIT is asserted only for the selected first-party Python source.",
      "datasets": "README names BridgeData V2, Open X-Embodiment and LIBERO datasets. Individual dataset terms were not reviewed, and repository MIT is not applied to them.",
      "third_party_code": "External dependencies retain their own licenses."
    },
    "interpretation": "Pinned upstream declarations only; no dependency resolution, model/data access, compatibility inference or runtime validation was performed."
  }
}
```

## Invocation

```json
{
  "entrypoint": "torchrun --standalone --nnodes 1 --nproc-per-node <reviewed-gpu-count> vla-scripts/train.py --data_root_dir <reviewed-data> --vla.type <reviewed-vla-config>",
  "notes": "The upstream .hf_token location is documentation data, not a local credential path to inspect. No credentials, models or datasets were loaded."
}
```

## Compatibility

```json
[]
```

Missing environment fields remain unknown. Source discovery labels do not establish robot compatibility.

## Evidence

Level: **source_reviewed**. Runtime verification: **not_run**.

Verified exact source, applicable license and author/setup document bytes at a full Git commit; parsed the Python AST and reviewed this guarded operational entrypoint and its explicit license notices. No upstream code, installation, robot command, dataset, mesh or checkpoint was executed or loaded.

Source review and contributor reports do not establish task completion. Preserve upstream attribution and licenses.
