Submission
仿真赛代码提交与评测
Please refer to the kuavo_data_challenge main branch docker/readme documentation to pack the environment and codebase into a docker image, and then submit it through our competition website.
The official evaluation results and leaderboard will be updated in real-time on our competition website.
Important Notes
The final submission file should be a zip archive, containing two files: The docker tar image, and the correct run_with_gpu.sh
Please also name your tar and zip filenames as Team/Personal name_task{i}. Pinyin of the team’s name and/or personal names are accepted. For instance, our team name is Leju Zhandui, and my name is kuavo, for a submission of Task 2, the tar filename then can be either lejuzhandui_task2.tar or kuavo_task2.tar, same goes for the zip archive. Please remember to modify the IMAGE_NAME and CONTAINER_NAME correspondingly, or else the image will not be found!
3. 打包镜像前, 一定要注意把kuavo_sim_env.yaml里的配置改好, 测试回合数(eval_episodes)为100回合,最大回合步数(max_episode_steps)不超过300(任务一和二)、600(任务三)、1000(任务四), 一般200(任务一和二)、500(任务三)、800(任务四)是足够的 。
Normal submission is through the regular submission portal. If the file is too big (over 5GB in size), the upload might fail, in which case there is an extra-large file submission portal available. Note that its commands refresh every hour!
Before submission, please ensure that your team is properly enrolled (individual group sized 1 need not perform this operation). If any team amendments occured after the submission, the prior submissions all become nullified. Only one submission required per team, do not submit more than one!
Our official evaluation system is similar to the local testing system, so all competitors can freely test their models locally and amend codes if necessary. Please try your best to ensure the functionality of your code locally prior to submission, as to not overly waste other competitor’s online evaluation resources.
After submission, if the evaluation is successful, you can check your scores on the Tianchi competition website. If the evaluation failed, a detailed explaination will be provided, please check your submission materials
Video Guide on How to Submit (Please skip the lengthy packing and downloading processes)
真机赛代码提交与评测
跟仿真赛同理,真机赛代码提交也是环境和代码打包为 docker 镜像,之后提交至 比赛官网 。具体步骤如下:
配置docker加速,打包环境:可参考仿真赛 提交说明 docker/readme 步骤1-2
复制以下Dockerfile模板(专为真机赛的定制版),修改必要参数,例如Conda环境名、Conda环境包名、添加额外必要系统、python包等,保存为项目根目录下的
Dockerfile# ========================= # Stage 1: Builder # ========================= FROM ros:noetic-ros-core-focal AS builder ARG DEBIAN_FRONTEND=noninteractive # 国内APT源 RUN sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && \ sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list # 安装必要工具和ROS依赖 RUN apt-get update && apt-get install -y \ curl wget gnupg2 lsb-release sudo ca-certificates build-essential bzip2 \ ros-noetic-cv-bridge \ ros-noetic-apriltag-ros \ && rm -rf /var/lib/apt/lists/* # 安装 Miniforge ENV MINIFORGE_URL="https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease/Miniforge3-Linux-x86_64.sh" RUN curl -L ${MINIFORGE_URL} -o /tmp/miniforge.sh \ && bash /tmp/miniforge.sh -b -p /opt/conda \ && rm /tmp/miniforge.sh ENV PATH="/opt/conda/bin:${PATH}" ENV LANG=C.UTF-8 ENV LC_ALL=C.UTF-8 # 配置国内镜像并安装 mamba RUN conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ \ && conda config --set show_channel_urls yes \ && conda install -y mamba -c conda-forge # 工作目录 WORKDIR /root/kuavo_data_challenge COPY . . # 解压 Conda 环境并安装项目 # TODO: 修改Conda环境名和包名,请确保每一个myenv都修改全 RUN if [ -f "myenv.tar.gz" ]; then \ mkdir -p ./myenv && tar -xzf myenv.tar.gz -C ./myenv && rm myenv.tar.gz; \ fi && \ /bin/bash -c "\ source ./myenv/bin/activate && \ conda-unpack && \ pip install -e . && \ cd ./third_party/lerobot && pip install -e . -i https://mirrors.aliyun.com/pypi/simple/ && \ pip install deprecated kuavo_humanoid_sdk==1.2.2 opencv-python==4.11.0.86 opencv-python-headless==4.11.0.86 numpy==1.26.4 -i https://mirrors.aliyun.com/pypi/simple/ && \ conda clean -afy && \ rm -rf ./myenv/lib/python*/site-packages/*/tests ./myenv/lib/python*/site-packages/*/test ./myenv/pkgs/* \ " # ========================= # Stage 2: Final # ========================= FROM ros:noetic-ros-core-focal # 设置工作目录 WORKDIR /root/kuavo_data_challenge # 复制 Conda 环境和项目代码 COPY --from=builder /opt/conda /opt/conda COPY --from=builder /root/kuavo_data_challenge /root/kuavo_data_challenge # 环境变量 ENV PATH="/opt/conda/bin:${PATH}" ENV LANG=C.UTF-8 ENV LC_ALL=C.UTF-8 RUN sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list && \ sed -i 's/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list # TODO: 如果需要安装其它系统包,请在这里插入 RUN apt-get update && apt-get install -y \ ros-noetic-cv-bridge \ ros-noetic-apriltag-ros \ && rm -rf /var/lib/apt/lists/* # 保留 ROS 环境变量 # 激活 Conda 环境 RUN echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc && \ echo "source /root/kuavo_data_challenge/myenv/bin/activate" >> /root/.bashrc && \ echo "chmod 777 -R /root/kuavo_data_challenge/kuavo_deploy" >> /root/.bashrc && \ echo "export ROS_IP=192.168.26.10" >> /root/.bashrc && \ echo "export ROS_MASTER_URI=http://kuavo_master:11311" >> /root/.bashrc # 默认命令 CMD ["bash"]
构建 Docker 镜像并导出为tar文件:跟仿真赛提交同理,将Dockerfile放置于项目根目录下,运行指令
sudo docker build -t kdc_v0 .,然后用sudo docker save -o your_docker_image.tar kdc_v0:latest导出按照赛事提交文件名要求重命名导出的镜像。跟正确的
run_with_gpu.sh打包成一个高压缩率的压缩包,按照赛事要求,重命名压缩包后方可提交至 比赛官网
The official evaluation results and leaderboard will be updated in real-time on our competition website.
Important Notes
The final submission file should be a zip archive, containing two files: The docker tar image, and the correct run_with_gpu.sh
Please also name your tar and zip filenames as Team/Personal name_task{i}. Pinyin of the team’s name and/or personal names are accepted. For instance, our team name is Leju Zhandui, and my name is kuavo, for a submission of Task 2, the tar filename then can be either lejuzhandui_task2.tar or kuavo_task2.tar, same goes for the zip archive. Please remember to modify the IMAGE_NAME and CONTAINER_NAME correspondingly, or else the image will not be found!
3. 打包镜像前, 一定要注意把kuavo_real_env.yaml里的配置改好, 按照之前仿真赛kuavo_sim_env.yaml改了的几处就行。测试回合数(eval_episodes)为100回合,最大回合步数(max_episode_steps)不超过300(任务一和二)、600(任务三), 一般200(任务一和二)、500(任务三)是足够的 。
Normal submission is through the regular submission portal. If the file is too big (over 5GB in size), the upload might fail, in which case there is an extra-large file submission portal available. Note that its commands refresh every hour!
Before submission, please ensure that your team is properly enrolled (individual group sized 1 need not perform this operation). If any team amendments occured after the submission, the prior submissions all become nullified. Only one submission required per team, do not submit more than one!
Our official evaluation system is similar to the local testing system, so all competitors can freely test their models locally and amend codes if necessary. Please try your best to ensure the functionality of your code locally prior to submission, as to not overly waste other competitor’s online evaluation resources.
After submission, if the evaluation is successful, you can check your scores on the Tianchi competition website. If the evaluation failed, a detailed explaination will be provided, please check your submission materials