logo Mr.Robota 具身智能学习手册 中文
Chapter 16: Damo Institute & Datawhale Online Team Learning

Appendix to Manipulation Manual for AUP Browser Development Environment

This appendix describes the manipulation of the JupyterHub, Jupyter Notebook, and Code Server interfaces in AUP Learning Cloud. For persistent directories, environment variables, and course execution commands, see the cloud platform and Remote Development chapter .

1. Tool Selection

Tool Applicable Tasks Entry Point
Jupyter Notebook Execute code in segments, view charts, play evaluation videos Notebook image or JupyterHub launcher
Code Server Edit multi-file projects, run terminal commands, debug scripts, use version control Code Server GPU Environment
Browser Terminal Install dependencies, check devices, start training and evaluation JupyterLab Terminal or Code Server Terminal

Scripts for training and batch evaluation; Notebooks are used for explanations, configuration checks, and result playback. Both entry points should share the same persistent working directory.

2. Log in and select the environment

  1. Open https://tpe.aupcloud.io.
  2. Select Use GitHub Login to complete GitHub authentication.
  3. On the startup page, choose the course image or development image.
  4. Set the runtime duration and start the workspace.

GitHub Authorized Login

The common entry points of the platform are divided into four categories:

  • Course: Teaching image dependencies pre-installed for the course;
  • Development: CPU or GPU development environment on Code Server;
  • Test: HIP and ROCm runtime checks;
  • Custom Repo: Creating a custom environment from a base image.

AUP Environment Selection Page

Before starting, confirm the ROCm, Python, and PyTorch versions of the image. The source code, models, data, and results that need to be retained long-term should be placed in /home/jovyan. /ryzers/notebooks serves as the temporary working directory for this image.

3. Manipulation of Jupyter Notebook

3.1 Creation and Execution

Select Python 3 in the launcher to create a Notebook. Common manipulations are as follows:

Manipulation Shortcut Key
Run current unit Shift + Enter
Save document Ctrl + S or Cmd + S
Interrupt running Interrupt in Kernel menu
Restart kernel Restart in Kernel menu

Minimum device check:

pythonimport torch

print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "GPU unavailable")

The ROCm version of PyTorch follows the torch.cuda interface. Therefore, when torch.cuda.is_available() returns True, it is necessary to combine the device name and tensor computation to confirm the environment.

3.2 Save to Persistent Directory

bashmkdir -p /home/jovyan/every-embodied
cp -a /ryzers/notebooks/<project-name> /home/jovyan/every-embodied/

It is recommended to open the project directly from the persistent directory to avoid recopying before ending the image:

bashcd /home/jovyan/every-embodied
git clone https://github.com/datawhalechina/every-embodied.git

3.3 Notebook Execution Order

The Course Notebook is executed in the following order:

  1. Device and directory configuration;
  2. Dataset and model path verification;
  3. Single batch forward and reverse;
  4. Short training;
  5. Long training;
  6. Closed loop evaluation;
  7. Video and statistical result display.

The long training unit is controlled by an explicit switch by default. After starting, the training log and output directory are retained; do not rely on continuous browser connection.

4. Manipulation of Code Server

4.1 Start the development environment

Select Code Server GPU Environment, then choose the desired AMD Radeon GPU configuration and start it.

Code Server Environment Selection

Code Server Main Interface

The interface is divided into four sections:

  • Left sidebar: Files, Search, Version Control, Execution and Extensions;
  • Middle editing area: Source code and Markdown documents;
  • Bottom terminal: Commands, logs and process status;
  • Ports panel: Forwarding ports for local services.
Extension Purpose
Python Python syntax, debugging, and environment selection
Jupyter Running Notebooks in the editor
Ruff Python formatting and static checking
YAML Configuration file syntax support
GitLens Version history and commit location
C/C++ HIP or native extension development

Code Server Extension Page

When extending is saved in the image running environment, record the common extension names in the project documentation to facilitate environment reconstruction.

4.3 Terminal Inspection

bashrocm-smi
python -V
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
df -h /home/jovyan

Check the current directory and output directory again before training:

bashpwd
echo "$WORK_ROOT"
echo "$OUTPUT_ROOT"

5. Port Forwarding

Code Server will detect the HTTP service started in the terminal and create a forwarding entry in the Ports panel.

bashpython -m http.server 8080 --bind 0.0.0.0

 Port Forwarding Notification

Ports Panel

Forwarding addresses usually take the following form:

texthttps://tpe.aupcloud.io/user/<username>/proxy/<port>/

The service must listen on 0.0.0.0 or the interface allowed by the platform. If the page cannot be accessed, check the following in order:

bashss -lntp | grep 8080
curl -I http://127.0.0.1:8080

Then, confirm the port number and forwarding address in the Ports panel.

6. Models, Data, and Authentication

Caching and output are placed in the persistent directory:

bashexport WORK_ROOT=/home/jovyan/every-embodied-work
export HF_HOME="$WORK_ROOT/cache/huggingface"
export TORCH_HOME="$WORK_ROOT/cache/torch"
export DATA_ROOT="$WORK_ROOT/datasets"
export MODEL_ROOT="$WORK_ROOT/models"
export OUTPUT_ROOT="$WORK_ROOT/outputs"
mkdir -p "$HF_HOME" "$TORCH_HOME" "$DATA_ROOT" "$MODEL_ROOT" "$OUTPUT_ROOT"

Hugging Face login information is only stored in the user configuration directory or environment variables. Public Notebooks, Markdown, screenshots, and logs do not record access tokens.

bashhuggingface-cli login
huggingface-cli whoami

After downloading, check the model directory and dataset metadata:

bashfind "$MODEL_ROOT" -maxdepth 2 -type f | head
find "$DATA_ROOT" -maxdepth 3 -type f | head
du -sh "$MODEL_ROOT" "$DATA_ROOT" "$HF_HOME"

7. Switch to a different image and exit the workspace

Follow these steps before switching the image:

  1. Save the Notebook and source code;
  2. Ensure that the training output is located at /home/jovyan;
  3. Record the recovery command for unfinished tasks;
  4. Stop the current service;
  5. Select Stop my server on the startup page;
  6. Start a new image.

 stops the current workspace

Check the location of large files before ending:

bashdu -sh /home/jovyan/* 2>/dev/null | sort -h
find /ryzers/notebooks -type f -size +100M -print 2>/dev/null

8. Common Questions

Slow page loading

Log in again and check the browser network; after the page recovers, confirm whether the backend process is still running.

Confused execution order of Notebook unit

Restart the kernel and execute the steps in sequence starting from devices, directories, and data inspection units. The long training units use a separate output directory to avoid overwriting existing results.

Failed to install the Code Server extension

Refresh the extended index and retry; use the existing extension in the mirror to complete core operations when the network is limited.

Port does not appear automatically

Confirm that the service is listening, and then manually add ports in the Ports panel. Proxy path access depends on the current user’s login status.

Files disappear after the workspace ends

Check whether the file is written to /ryzers/notebooks. When running again, set the source code, data, model, and output root directory to /home/jovyan uniformly.

9. Return to the main line of the course

After the platform manipulation is completed, proceed in the following order:

  1. Device and environment confirmation
  2. Simulation benchmark download and unified directory
  3. Notebook execution index
  4. Unified evaluation, video, and result archiving