A few lines from robot to trained policy.
The open-source neuracore Python SDK and CLI wrap the whole workflow: log any data type, train imitation and reinforcement learning policies on the cloud, and run inference locally or on a policy server.
import neuracore as nc
import time
nc.login()
nc.connect_robot(robot_name="MyRobot", urdf_path="robot.urdf")
nc.create_dataset(name="My Robot Dataset")
# stream a demonstration into the dataset
nc.start_recording()
t = time.time()
nc.log_joint_positions(positions={"joint1": 0.5}, timestamp=t)
nc.log_rgb(name="top_camera", rgb=image, timestamp=t)
nc.log_language(name="instruction",
language="Pick up the red cube", timestamp=t)
nc.stop_recording() # auto-uploads to the cloudStreaming data logging
Log joint positions, velocities, targets, RGB cameras, language, and custom sensors with timestamps. Everything streams live to the dashboard as you record.
URDF and MuJoCo MJCF
Describe your robot once with a URDF or MJCF file, then log and train against that embodiment, single-arm, dual-arm, or dexterous.
Cloud training
Launch multi-GPU runs with Diffusion Policy, ACT, or π0. Checkpoints, TensorBoard, and automatic batch-size tuning are built in.
Access and synchronize
Load datasets, synchronize data types across embodiments at any frequency, and visualize episodes on the web dashboard.
Local and cloud policies
Load a trained policy and call predict() on your machine, on a local policy server, or on a cloud endpoint.
Command-line tooling
Authenticate, select an org, and inspect or monitor cloud and local runs. Launch a policy server to sanity-check inference.
Kick off cloud training, then call the policy.
Launch a multi-GPU run with Diffusion Policy, ACT, or π0 against a dataset, then load the trained policy and call predict() locally, on a policy server, or on a cloud endpoint.
# train on the cloud
nc.start_training_run(
name="MyTrainingJob",
dataset_name="My Robot Dataset",
algorithm_name="diffusion_policy",
num_gpus=5,
frequency=50,
)
# load the trained policy and predict
policy = nc.policy(train_run_name="MyTrainingJob")
nc.log_joint_positions(positions={"joint1": 0.5})
nc.log_rgb(name="top_camera", rgb=image)
actions = policy.predict(timeout=5)neuracore login
neuracore select-org --org-name "Acme Robotics"
neuracore training list --limit 5
neuracore training monitor --training-name my_experimentMonitor runs from the terminal.
Authenticate, pick your organization, and inspect or monitor cloud and local training runs. TensorBoard opens straight from the CLI.
Install the SDK and log your first demonstration.
Read the docs, clone a repo, or run the getting-started notebook on Colab.