# Octo: Generalist policy pretraining

Pinned Octo pretraining entrypoint that constructs a configured policy and trains it on an explicitly selected interleaved dataset mixture. Statically reviewed source only; not run and no Hub preparation adapter.

ID: `octo-scripts-train-py`

Record version: `source-e164ea607376d5fb55f59bfac9cc8b87e78fc8c6544698a7a77c47bedbd6f2b8`

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 octo-scripts-train-py --project ./experiment --expected-source-revision 241fb3514b7c40957a86d869fecb7c7fc353f540 --expected-source-sha256 e164ea607376d5fb55f59bfac9cc8b87e78fc8c6544698a7a77c47bedbd6f2b8 --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/octo-models/octo/blob/241fb3514b7c40957a86d869fecb7c7fc353f540/README.md

## Source and license

- Repository: https://github.com/octo-models/octo
- Pinned source: https://github.com/octo-models/octo/blob/241fb3514b7c40957a86d869fecb7c7fc353f540/scripts/train.py
- Revision: `241fb3514b7c40957a86d869fecb7c7fc353f540`
- Path: `scripts/train.py`
- Source SHA256: `e164ea607376d5fb55f59bfac9cc8b87e78fc8c6544698a7a77c47bedbd6f2b8`
- Source bytes: 12303
- Original authors: Octo Model Team, Robotic AI & Learning Lab Berkeley
- License: [MIT](https://github.com/octo-models/octo/blob/241fb3514b7c40957a86d869fecb7c7fc353f540/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: `8c891a7dd06fdaa873aa011ff0b2773a3ccfe6d123f6b9a9fc589db718aec1d1`

## Artifact

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

## Requirements

```json
{
  "python": "Python3.10 in README setup; no packaging minimum asserted.",
  "packages": [
    "Pinned Octo checkout",
    "JAX0.4.20, Flax0.7.5 and TensorFlow2.15.0 from requirements.txt",
    "Per-example simulator/robot-controller dependencies and reviewed checkpoints/data"
  ],
  "display": "Hardware: Uses JAX device mesh/data parallelism. README provides GPU and TPU installs and reports pretraining on a TPUv4-128 pod; that reproduction platform is not asserted as the only supported hardware or a universal minimum. Weights: Creates the policy from a selected configuration; resume uses saved training state. External tokenizer/backbone assets in configuration/dependencies were not expanded or fetched. Datasets: Requires separately obtained Open X-Embodiment dataset mixture under the configured data directory. Services/auth: Initializes W&B by default, can use W&B API for resuming, and has debug mode with disabled logging. No particular API-key environment variable is named in the selected entrypoint.",
  "execution_domain": "computation",
  "source_imports": [
    "absl",
    "datetime",
    "flax.traverse_util",
    "functools",
    "jax",
    "jax.experimental",
    "jax.sharding",
    "ml_collections",
    "octo",
    "octo.data.dataset",
    "octo.data.oxe",
    "octo.model.octo_model",
    "octo.utils",
    "octo.utils.spec",
    "octo.utils.train_callbacks",
    "octo.utils.train_utils",
    "octo.utils.typing",
    "optax",
    "os",
    "os.path",
    "tensorflow",
    "tqdm",
    "wandb"
  ],
  "notes": "One pretraining entrypoint; configurations, sizes and dataset mixtures are parameters, not additional records. Code licensing does not establish model, checkpoint, dataset or service permission.",
  "declared_requirements": {
    "python": "Python3.10 in README setup; no packaging minimum asserted.",
    "weights": "Creates the policy from a selected configuration; resume uses saved training state. External tokenizer/backbone assets in configuration/dependencies were not expanded or fetched.",
    "datasets": "Requires separately obtained Open X-Embodiment dataset mixture under the configured data directory.",
    "hardware": "Uses JAX device mesh/data parallelism. README provides GPU and TPU installs and reports pretraining on a TPUv4-128 pod; that reproduction platform is not asserted as the only supported hardware or a universal minimum.",
    "external_services_and_auth": "Initializes W&B by default, can use W&B API for resuming, and has debug mode with disabled logging. No particular API-key environment variable is named in the selected entrypoint.",
    "evidence": [
      {
        "anchor": "Mesh(jax.devices()",
        "line": 66
      },
      {
        "anchor": "wandb.init",
        "line": 95
      },
      {
        "anchor": "OctoModel.from_config",
        "line": 177
      }
    ],
    "license_scopes": {
      "code": "MIT for selected first-party workflow source.",
      "weights": "README links separately hosted rail-berkeley Octo checkpoints. This bounded repository review did not inspect model cards or establish a weight license; repository MIT is limited to selected code.",
      "datasets": "README references Open X-Embodiment and an example ALOHA simulation dataset. Their individual terms were not inspected and are not covered by the code-license assertion.",
      "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": "python scripts/train.py --config scripts/configs/octo_pretrain_config.py:<reviewed-size> --name=<run> --config.dataset_kwargs.oxe_kwargs.data_dir=<reviewed-data>",
  "notes": "One pretraining entrypoint; configurations, sizes and dataset mixtures are parameters, not additional records."
}
```

## 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.
