parent
35c1ce7a66
commit
aca424a481
|
@ -10,7 +10,6 @@ on:
|
||||||
|
|
||||||
env:
|
env:
|
||||||
PYTHON_VERSION: "3.10"
|
PYTHON_VERSION: "3.10"
|
||||||
# CI_SLACK_CHANNEL: ${{ secrets.CI_DOCKER_CHANNEL }}
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
latest-cpu:
|
latest-cpu:
|
||||||
|
@ -51,30 +50,6 @@ jobs:
|
||||||
tags: huggingface/lerobot-cpu
|
tags: huggingface/lerobot-cpu
|
||||||
build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
# - name: Post to a Slack channel
|
|
||||||
# id: slack
|
|
||||||
# #uses: slackapi/slack-github-action@v1.25.0
|
|
||||||
# uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001
|
|
||||||
# with:
|
|
||||||
# # Slack channel id, channel name, or user id to post message.
|
|
||||||
# # See also: https://api.slack.com/methods/chat.postMessage#channels
|
|
||||||
# channel-id: ${{ env.CI_SLACK_CHANNEL }}
|
|
||||||
# # For posting a rich message using Block Kit
|
|
||||||
# payload: |
|
|
||||||
# {
|
|
||||||
# "text": "lerobot-cpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}",
|
|
||||||
# "blocks": [
|
|
||||||
# {
|
|
||||||
# "type": "section",
|
|
||||||
# "text": {
|
|
||||||
# "type": "mrkdwn",
|
|
||||||
# "text": "lerobot-cpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
# ]
|
|
||||||
# }
|
|
||||||
# env:
|
|
||||||
# SLACK_BOT_TOKEN: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }}
|
|
||||||
|
|
||||||
latest-cuda:
|
latest-cuda:
|
||||||
name: GPU
|
name: GPU
|
||||||
|
@ -113,27 +88,40 @@ jobs:
|
||||||
tags: huggingface/lerobot-gpu
|
tags: huggingface/lerobot-gpu
|
||||||
build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
# - name: Post to a Slack channel
|
|
||||||
# id: slack
|
latest-cuda-dev:
|
||||||
# #uses: slackapi/slack-github-action@v1.25.0
|
name: GPU Dev
|
||||||
# uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001
|
runs-on: ubuntu-latest
|
||||||
# with:
|
steps:
|
||||||
# # Slack channel id, channel name, or user id to post message.
|
- name: Cleanup disk
|
||||||
# # See also: https://api.slack.com/methods/chat.postMessage#channels
|
run: |
|
||||||
# channel-id: ${{ env.CI_SLACK_CHANNEL }}
|
sudo df -h
|
||||||
# # For posting a rich message using Block Kit
|
# sudo ls -l /usr/local/lib/
|
||||||
# payload: |
|
# sudo ls -l /usr/share/
|
||||||
# {
|
sudo du -sh /usr/local/lib/
|
||||||
# "text": "lerobot-gpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}",
|
sudo du -sh /usr/share/
|
||||||
# "blocks": [
|
sudo rm -rf /usr/local/lib/android
|
||||||
# {
|
sudo rm -rf /usr/share/dotnet
|
||||||
# "type": "section",
|
sudo du -sh /usr/local/lib/
|
||||||
# "text": {
|
sudo du -sh /usr/share/
|
||||||
# "type": "mrkdwn",
|
sudo df -h
|
||||||
# "text": "lerobot-gpu Docker Image build result: ${{ job.status }}\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}"
|
- name: Set up Docker Buildx
|
||||||
# }
|
uses: docker/setup-buildx-action@v3
|
||||||
# }
|
|
||||||
# ]
|
- name: Check out code
|
||||||
# }
|
uses: actions/checkout@v4
|
||||||
# env:
|
|
||||||
# SLACK_BOT_TOKEN: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }}
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build and Push GPU dev
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./docker/lerobot-gpu-dev/Dockerfile
|
||||||
|
push: true
|
||||||
|
tags: huggingface/lerobot-gpu:dev
|
||||||
|
build-args: PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
||||||
|
|
|
@ -2,12 +2,17 @@
|
||||||
logs
|
logs
|
||||||
tmp
|
tmp
|
||||||
wandb
|
wandb
|
||||||
|
|
||||||
|
# Data
|
||||||
data
|
data
|
||||||
outputs
|
outputs
|
||||||
.vscode
|
|
||||||
rl
|
# Apple
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
|
# VS Code
|
||||||
|
.vscode
|
||||||
|
|
||||||
# HPC
|
# HPC
|
||||||
nautilus/*.yaml
|
nautilus/*.yaml
|
||||||
*.key
|
*.key
|
||||||
|
@ -90,6 +95,7 @@ instance/
|
||||||
docs/_build/
|
docs/_build/
|
||||||
|
|
||||||
# PyBuilder
|
# PyBuilder
|
||||||
|
.pybuilder/
|
||||||
target/
|
target/
|
||||||
|
|
||||||
# Jupyter Notebook
|
# Jupyter Notebook
|
||||||
|
@ -102,13 +108,6 @@ ipython_config.py
|
||||||
# pyenv
|
# pyenv
|
||||||
.python-version
|
.python-version
|
||||||
|
|
||||||
# pipenv
|
|
||||||
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
||||||
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
||||||
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
||||||
# install all needed dependencies.
|
|
||||||
#Pipfile.lock
|
|
||||||
|
|
||||||
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
__pypackages__/
|
__pypackages__/
|
||||||
|
|
||||||
|
@ -119,6 +118,15 @@ celerybeat.pid
|
||||||
# SageMath parsed files
|
# SageMath parsed files
|
||||||
*.sage.py
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
# Spyder project settings
|
# Spyder project settings
|
||||||
.spyderproject
|
.spyderproject
|
||||||
.spyproject
|
.spyproject
|
||||||
|
@ -136,3 +144,9 @@ dmypy.json
|
||||||
|
|
||||||
# Pyre type checker
|
# Pyre type checker
|
||||||
.pyre/
|
.pyre/
|
||||||
|
|
||||||
|
# pytype static type analyzer
|
||||||
|
.pytype/
|
||||||
|
|
||||||
|
# Cython debug symbols
|
||||||
|
cython_debug/
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
FROM nvidia/cuda:12.4.1-base-ubuntu22.04
|
||||||
|
|
||||||
|
# Configure image
|
||||||
|
ARG PYTHON_VERSION=3.10
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
# Install apt dependencies
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
build-essential cmake \
|
||||||
|
git git-lfs openssh-client \
|
||||||
|
nano vim less util-linux \
|
||||||
|
htop atop nvtop \
|
||||||
|
sed gawk grep curl wget \
|
||||||
|
tcpdump sysstat screen tmux \
|
||||||
|
libglib2.0-0 libgl1-mesa-glx libegl1-mesa ffmpeg \
|
||||||
|
python${PYTHON_VERSION} python${PYTHON_VERSION}-venv \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Install gh cli tool
|
||||||
|
RUN (type -p wget >/dev/null || (apt update && apt-get install wget -y)) \
|
||||||
|
&& mkdir -p -m 755 /etc/apt/keyrings \
|
||||||
|
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
|
||||||
|
&& chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
|
||||||
|
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
|
||||||
|
&& apt update \
|
||||||
|
&& apt install gh -y \
|
||||||
|
&& apt clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Setup `python`
|
||||||
|
RUN ln -s /usr/bin/python3 /usr/bin/python
|
||||||
|
|
||||||
|
# Install poetry
|
||||||
|
RUN curl -sSL https://install.python-poetry.org | python -
|
||||||
|
ENV PATH="/root/.local/bin:$PATH"
|
||||||
|
RUN echo 'if [ "$HOME" != "/root" ]; then ln -sf /root/.local/bin/poetry $HOME/.local/bin/poetry; fi' >> /root/.bashrc
|
||||||
|
RUN poetry config virtualenvs.create false
|
||||||
|
RUN poetry config virtualenvs.in-project true
|
||||||
|
|
||||||
|
# Set EGL as the rendering backend for MuJoCo
|
||||||
|
ENV MUJOCO_GL="egl"
|
|
@ -4,18 +4,15 @@ FROM nvidia/cuda:12.4.1-base-ubuntu22.04
|
||||||
ARG PYTHON_VERSION=3.10
|
ARG PYTHON_VERSION=3.10
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
|
||||||
# Install apt dependencies
|
# Install apt dependencies
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
build-essential cmake \
|
build-essential cmake \
|
||||||
git git-lfs openssh-client \
|
|
||||||
nano vim ffmpeg \
|
|
||||||
htop atop nvtop \
|
|
||||||
sed gawk grep curl wget \
|
|
||||||
tcpdump sysstat screen \
|
|
||||||
libglib2.0-0 libgl1-mesa-glx libegl1-mesa \
|
libglib2.0-0 libgl1-mesa-glx libegl1-mesa \
|
||||||
python${PYTHON_VERSION} python${PYTHON_VERSION}-venv \
|
python${PYTHON_VERSION} python${PYTHON_VERSION}-venv \
|
||||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
||||||
# Create virtual environment
|
# Create virtual environment
|
||||||
RUN ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python
|
RUN ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python
|
||||||
RUN python -m venv /opt/venv
|
RUN python -m venv /opt/venv
|
||||||
|
@ -23,8 +20,7 @@ ENV PATH="/opt/venv/bin:$PATH"
|
||||||
RUN echo "source /opt/venv/bin/activate" >> /root/.bashrc
|
RUN echo "source /opt/venv/bin/activate" >> /root/.bashrc
|
||||||
|
|
||||||
# Install LeRobot
|
# Install LeRobot
|
||||||
RUN git lfs install
|
COPY . /lerobot
|
||||||
RUN git clone https://github.com/huggingface/lerobot.git
|
|
||||||
WORKDIR /lerobot
|
WORKDIR /lerobot
|
||||||
RUN pip install --upgrade --no-cache-dir pip
|
RUN pip install --upgrade --no-cache-dir pip
|
||||||
RUN pip install --no-cache-dir ".[test, aloha, xarm, pusht]"
|
RUN pip install --no-cache-dir ".[test, aloha, xarm, pusht]"
|
||||||
|
|
Loading…
Reference in New Issue